写给程序员的TensorFlow教程-网站备案查询API及验证码识别

终于迎来了我们的《写给程序员的TensorFlow教程》的第二弹,离第一弹时间已经过去了好久好久好久好久…

等了这么久,是不是很多朋友已经晋升币圈大佬,再也不用看AI教程了。不过金钱如过眼云烟,还是有一技傍身才是真正的安全。

话不多说,先看之前的基础教程:

Discuz验证码识别(准备篇)-写给程序员的TensorFlow教程

前面算是带大家入个门。今天咱们就尽量少废话,直接进入主题。

之前说第四篇文章要讲一讲赶集的电话识别,然而貌似现在赶集的电话已经不公开展示了。所以我们今天继续看看验证码,不过换汤不换药,思路是完全一样的。今天我们要处理的是备案查询网站的验证码识别,地址是:http://www.miitbeian.gov.cn/publish/query/indexFirst.action。

我们先来看看这个验证码长什么样子:

神箭手上已经把整个验证码识别和爬虫部分整合成了一个API可以直接调用,懒得写的同学可以直接移步:

ICP域名备案查询API

 

我们继续来看这个验证码,看着似乎比Discuz验证码要稍微复杂一些。不过在实际的解决过程中,会复杂很多,主要还是因为Discuz的验证码我们是有源码的,但是这个的验证码我们是没有源码的,因此我们需要自己去猜去生成。手动去猜这些验证码的生成方式主要就在四点:

1.字体 2.颜色 3.混淆 4.倾斜。

大家看完这篇文章,其实就可以举一反三,比较轻松的解决知乎登录的那个汉字翻转验证码问题了。

对于2.颜色其实相对比较简单,只要注意一下颜色深浅的配置以及不同文字不同颜色,基本就可以。3和4只要根据具体的验证码的特点进行生成即可。只有1相对比较麻烦,这个暂时也没有什么好办法,只能一个一个找,经过我们耐心的寻找,确定了这个字体是:Lucida Sans Unicode

 

剩下的事情就好办了,只要根据这个样子写一个自动生成验证码的程序生成图片即可,值得注意的是,这个验证码包含的字符有ABCDEFGHIJKLMNOPQRSTUVWXYZ3456789。我们根据情况生成了100万张图片及标注信息。这里我们把这个生成程序打包在了精灵标注助手( www.colabeler.com )当中,大家有需要的可以直接下载这个软件,点击工具,生成验证码,填写一些参数就可以生成了,不过现在生成的数据必须上传到神箭手上,需要导出的话可以先上传再导出。看一下我们生成的数据:

内容打包成了base64方便serving和training的过程的统一。

 

好了,数据准备好了。下面就是找大神的算法然后实现了。由于普通的CNN,包括VGG系列算法中含有大量的全连接层节点,导致变量很多,随便一个模型都得200m。无论是保存起来还是serving起来压力都有点大,因此我们采用现在最流行算法之一:CNN变体ResNet来实现,对于这样一个问题生成的模型只有9m,应该说是业界良心了。当然大家也可以选用GoogleNet,不过训练过程会有点长。

根据网上的resnet代码进行简单改动,结合我们前面三篇文章讲到的图片预处理,我们就得到了一个tensorflow针对resnet的实现,我们只需要读取数据进行训练即可,部分训练代码如下:

如何批量采集京东商城的商品信息?

本文主要介绍神箭手“京东商品信息采集爬虫”(以下简称“京东爬虫”)的使用教程及注意事项。

 

虽然市面上的采集工具种类繁多,但能够采集京东商品的工具确实不多,而且对于像京东这类国内主流电商平台,又该如何通过采集工具收集竞品店铺的商品价格、评价和月销量情况呢!为此,神箭手推出了“京东爬虫”供各位使用。

 

接下来,给你详细介绍使用神箭手“京东爬虫”采集和导出商品信息的步骤

 

步骤1  注册并登录

注册并登录神箭手,进入神箭手控制台。

注意:神箭手支持使用QQ和GitHub账号登陆。

1

 

步骤2  购买爬虫

进入神箭手云市场,找到“京东商品信息采集爬虫”,点击“获取爬虫”按钮,便成功得到“京东爬虫”了。

2

 

步骤3  设置爬虫

进入“京东爬虫”总览页,点击爬虫的“应用设置”,您可“重命名爬虫、增加爬虫描述、选择文件托管方式、设置京东商品的爬取方式以及勾选自定义爬取项”,设置后别忘记“保存”。

注意:

1. 如果想提高爬虫的爬取速率,建议勾选“只打印关键日志”;

2.爬虫支持“按关键字或按店铺”爬取京东商品,可根据实际情况自由选择。

3

4

 

步骤4  爬取数据

进入“京东爬虫”总览页,点击“启动爬虫”,配置爬虫使用的节点数并设置定时任务后,爬虫便开始批量爬取京东商品信息了,稍等片刻,就能在“爬取结果”页查看爬取的京东商品信息了。

5

6

 

如何在神箭手上快速开发爬虫——第八课 如何爬取手机瀑布流网页数据【手机网新闻】

1、本课完整的爬虫代码可以在神箭手示例代码中查看

2、如何在神箭手上运行代码,请查看文档

3、更详细的爬虫开发教程,请查看文档  

 

大家好,我是来自神箭手的游牧老师。一段时间不见,不知道大家爬虫开发练习地怎么样了@@ 今天我继续给大家讲解新的爬虫开发知识点:如何爬取手机端网页和如何爬取下拉加载更多的这类瀑布流形式的网页数据!

对于基础知识还不熟悉的童鞋,请先从第一课开始学起啊:第一课点这里

 

以手机版的新闻网为例,首页地址是:http://m.cankaoxiaoxi.com/。打开可以发现是个典型的瀑布流形式的网页,访问到最底部的时候需要“下拉加载下一页”:

1

 

在神箭手上,要爬取手机移动版网页,只需要设置useragent为移动版设备即可,那么在请求网页的时候神箭手便会自动随机移动设备代理,不需要开发者专门去设置,而且可以有效减少反爬的几率:

userAgent : UserAgent.Mobile //指定ua为移动设备

userAgent : UserAgent.Android //指定ua为android设备

userAgent : UserAgent.iOS//指定ua为iOS设备

 

对于瀑布流形式的抓取,可以通过浏览器的network选项,很容易找到加载下一页时的具体请求:

2

 

请求的url为:http://app.cankaoxiaoxi.com/?app=shlist&controller=mobile&action=index&page=2&count=14&update=1521438389&pagesize=1&pic_str=2258811,2258810,2258812&jsoncallback=jsonp1521439260574&_=1521439610252。其中包括了下一页的页码,时间戳等参数

那么在开发的时候,我们只需要手动添加下一页列表页的url和列表页中包括的内容页url到待爬队列中,神箭手便会自动下载这些网页并从内容页中抽取需要的数据了,是不是很简单?

废话不多说,完整的代码如下。就这么简单的几行代码就能搞定手机瀑布路网页的爬取了!

/*
云爬虫源码:爬取手机网(http://m.cankaoxiaoxi.com/)的新闻内容,新闻列表是瀑布流形式

金融界货币型基金净值采集爬虫开发教程

本文主要介绍在神箭手上开发“金融界货币型基金净值采集爬虫”的过程,爬虫主要实现批量爬取基金数据的功能,爬取字段包括“基金代码”、“基金简称”和“7日年化收益率”等10个字段。

 

金融界的货币型基金数据比较多,基金数据的参数项比较全,参考价值高。

 

采集网站URLhttp://fund.jrj.com.cn/netvalue/currency.shtml

使用功能点initCrawlafterDownloadPageonProcessContentPageafterExtractField回调函数

 

下面,给你详细说明“金融界货币型基金净值采集爬虫”在神箭手上的开发过程

步骤1  创建爬虫

注册并登录神箭手,进入神箭手控制台。

1

点击“新建应用”,选择“爬虫”,点击“下一步”。

2

输入爬虫名称“金融界货币型基金净值采集爬虫”,选择“编辑模式”,点击“创建”,神箭手爬虫创建成功。

3

 

步骤2  分析网页&开发爬虫

本文使用Chrome浏览器分析金融界货币型基金净值的网页,按“F12”可打开浏览器“开发者工具”,对网页请求进行仔细分析。

4

通过查看网页源码并分析,我们不难得出一个结论:所有基金数据都是通过AJAX获取到的

5

按“F5”刷新网页,在浏览器开发者工具“Network”中寻找获取基金数据的js请求即可。

6

分析完网页以及基金数据的获取逻辑后,便可结合“神箭手开发文档”,在神箭手爬虫编辑页开发爬虫代码。

7

 

步骤3  测试并运行爬虫

爬虫开发完成后,点击“测试”按钮,检查爬虫的爬取结果是否正确。

8

神箭云开放平台上线!开发者可出售应用赚取收入

神箭手一直致力于创建开放共赢的大数据+AI产业生态。2018新年伊始,全新的神箭云开放平台首度上线。开发者可以将在神箭手上开发的爬虫、API、机器学习等大数据应用一键出售到神箭云市场,赚取收入~

目前支持出售的应用包括爬虫和API接口。开发者打开在神箭手上开发的应用,点击“出售”,填写一些基本的信息,便可以快速上架到市场。用户购买开发者出售的应用后,8成的收入会立即充值到神箭手账户收入内,每月可以进行提现~

tim%e6%88%aa%e5%9b%be20180312174058

为了给用户提供更优质的数据服务,上架前神箭手官方会进行人工审核,审核的时间会在1-3个工作日内~

可以在神箭手的新手指南中查看出售应用的具体细节讲解:http://docs.shenjian.io/overview/guide/sell/crawler.html