十一 10

从Github上淘来的爬虫框架

Python

python自然不用多说,拥有的爬虫框架数不胜数。

  • scrapy,大名鼎鼎的爬虫框架,功能强大,乃入门学习的必备良药。支持多种多样的配置特性,唯一可惜不支持分布式的特性,于是就诞生了scrapy-redis这个以redis为队列的分布式爬虫框架。
  • pyspider,应该是个华人写的爬虫框架,可支持的配置非常多,同时也支持分布式,只需要配置中间的消息队列就可以。
  • portia,可视化的爬虫框架,对于编程经验少的人来说相当适合学习。
  • xcrawler,轻量级的爬虫框架。个人很简易从读轻量级的爬虫框架的源代码入手,这样能够由浅入深,学地更有意思。
  • cola,也是很强大的分布式爬虫框架,只是可惜不支持python 3以上。
  • fetchman, 国人写的爬虫框架,采用grequests来并发请求。看过源代码,写的容易理解,所以对于新手来说很实用。
  • gain, 使用asyncio`来异步爬取的轻量级爬虫框架。代码很容易理解,利于学习。

Java

Java接触的不是很多,所以知道的爬虫框架不多。

  • webmagic,这个是国人写的爬虫框架,很好用,也很强大。源代码的阅读体验也不错,推荐写java的可以去熟悉熟悉。
  • crawler4j, 比较好的爬虫架构,对于学习和理解爬虫框架很有用。
  • SeimiCrawler, 分布式爬虫框架,也是受到scrapy启发。支持动态渲染的页面爬虫。
  • elves, 轻量级的爬虫框架,国人写的。易于学习和理解。

Node

node接触的更加不多,但是也淘到了不错的几个框架。

  • node-crawler,强大且流行。采用Cheerio这个包解析网页结构。
  • webster,高性能的NodeJs爬虫框架,可爬取动态渲染的内容(通过headless Chrome)。

C#

C#作为笔者除了Python以外比较熟悉的语言了。但是发现其爬虫框架少的可怜。哎,不禁叹息。

  • DotnetSpider,整体架构参照了WebMagicScrapy,是C#中比较强大的存在。目前已经支持.net core 2.0,所以,喜欢C#的可以去玩玩。还是比较不错的支持Entity Framework
  • WebCrawler,国人写的轻量级的爬虫框架。可以去学习学习~~~

Continue reading

19

Python爬虫识别验证码

Python爬虫识别验证码

安装tesserocr

pip3 install tesserocr pillow

识别测试

yzm

将验证码图片放到项目根目录下,用tesserocr库识别该验证码,代码如下所示:

Continue reading

07

[Python] – 爬虫之lxml库的用法

[Python] – 爬虫之lxml库的用法

HTML 示例代码

小试牛刀 Continue reading

16

用Python爬取金融市场数据

一、写在前面

由于在平时的工作中,需要对某信托网的信托在售和资管在售数据进行统计分析,但是一条一条的输入,显然太过耗时耗力,于是萌生了写个爬虫的想法。

一门计算机语言,可以当做是在模仿人的目的或意图来进行一系列行为或动作,所以在写代码之前,首先要弄清楚你要干什么,如果是你,你每一步的动作是什么,然后将这一步步的动作通过代码传递给计算机,让计算机高效的帮你完成即可。

本文结合正则表达式和比较流行的beautifulsoup(bs4),对网页进行解析并提取数据,因此在正式进行之前,有必要简单介绍下正则表达式和bs4. Continue reading

十二 11

网站日志分析点,Spider IP段详细介绍“技术篇”

网站日志,日志分析,蜘蛛,爬虫

一篇值得珍藏的Spider抓取,网站日志分析点,日志中常常看到一堆的IP以及状态码感觉特别懵逼,从中分析Spider的爬行规律,并且投其所好摒弃不足之处,与Spider谈恋爱,只有从细节开始~日志分析就是最好的一个突破点,定期观察能节约不少的优化成本。

日志的分析在SEO工作中是一种重要的内容之一,那么在什么情况下我们需要做日志分析。

网站刚搭建,可以使用日志分析Spider私发来爬行;

网站收录了,不过总的收录量并没有提升需要分析日志看Spider的活跃情况;

网站收录减少,需要分析日志看是否服务器出现问题;

网站首页被K,需要了解日志中Spider爬行首页的情况;

网站全部被K,通过日志我们可以分析Spider最近的动态; Continue reading