有哪些网站用爬虫爬取能得到很有价值的数据

有哪些网站用爬虫爬取能得到很有价值的数据,第1张

一般有一下几种

一些常用的方法

IP代理

对于IP代理,各个语言的Native

Request

API都提供的IP代理响应的API,

需要解决的主要就是IP源的问题了.

网络上有廉价的代理IP(1元4000个左右),

我做过简单的测试,

100个IP中,

平均可用的在40-60左右,

访问延迟均在200以上.

网络有高质量的代理IP出售,

前提是你有渠道.

因为使用IP代理后,

延迟加大,

失败率提高,

所以可以将爬虫框架中将请求设计为异步,

将请求任务加入请求队列(RabbitMQ,Kafka,Redis),

调用成功后再进行回调处理,

失败则重新加入队列.

每次请求都从IP池中取IP,

如果请求失败则从IP池中删除该失效的IP.

Cookies

有一些网站是基于cookies做反爬虫,

这个基本上就是如

@朱添一

所说的,

维护一套Cookies池

注意研究下目标网站的cookies过期事件,

可以模拟浏览器,

定时生成cookies

限速访问

像开多线程,循环无休眠的的暴力爬取数据,

那真是分分钟被封IP的事,

限速访问实现起来也挺简单(用任务队列实现),

效率问题也不用担心,

一般结合IP代理已经可以很快地实现爬去目标内容.

一些坑

大批量爬取目标网站的内容后,

难免碰到红线触发对方的反爬虫机制.

所以适当的告警提示爬虫失效是很有必有的.

一般被反爬虫后,

请求返回的HttpCode为403的失败页面,

有些网站还会返回输入验证码(如豆瓣),

所以检测到403调用失败,

就发送报警,

可以结合一些监控框架,

如Metrics等,

设置短时间内,

告警到达一定阀值后,

给你发邮件,短信等.

当然,

单纯的检测403错误并不能解决所有情况.

有一些网站比较奇葩,

反爬虫后返回的页面仍然是200的(如去哪儿),

这时候往往爬虫任务会进入解析阶段,

解析失败是必然的.

应对这些办法,

也只能在解析失败的时候,

发送报警,

当告警短时间到达一定阀值,

再触发通知事件.

当然这个解决部分并不完美,

因为有时候,

因为网站结构改变,

而导致解析失败,

同样回触发告警.

而你并不能很简单地区分,

告警是由于哪个原因引起的.

主流爬虫框架通常由以下部分组成:

1.种子URL库:URL用于定位互联网中的各类资源,如最常见的网页链接,还有常见的文件资源、流媒体资源等。种子URL库作为网络爬虫的入口,标识出爬虫应该从何处开始运行,指明了数据来源。

2.数据下载器:针对不同的数据种类,需要不同的下载方式。主流爬虫框架通畅提供多种数据下载器,用来下载不同的资源,如静态网页下载器、动态网页下载器、FTP下载器等。

3.过滤器:对于已经爬取的URL,智能的爬虫需要对其进行过滤,以提高爬虫的整体效率。常用的过滤器有基于集合的过滤器、基于布隆过滤的过滤器等。

4.流程调度器:合理的调度爬取流程,也可以提高爬虫的整体效率。在流程调度器中,通常提供深度优先爬取、广度优先爬取、订制爬取等爬取策略。同时提供单线程、多线程等多种爬取方式。

1、Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架。 可以应用在包括数据挖掘,信息处理或存储历史数据等一系列的程序中。它是很强大的爬虫框架,可以满足简单的页面爬取,比如可以明确获知url pattern的情况。用这个框架可以轻松爬下来如亚马逊商品信息之类的数据。但是对于稍微复杂一点的页面,如weibo的页面信息,这个框架就满足不了需求。

2、pyspider

是一个用python实现的功能强大的网络爬虫系统,能在浏览器界面上进行脚本的编写,功能的调度和爬取结果的实时查看,后端使用常用的数据库进行爬取结果的存储,还能定时设置任务与任务优先级等。

3、Crawley可以高速爬取对应网站的内容,支持关系和非关系数据库,数据可以导出为JSON、XML等。

4、Portia是一个开源可视化爬虫工具,可让使用者在不需要任何编程知识的情况下爬取网站!简单地注释自己感兴趣的页面,Portia将创建一个蜘蛛来从类似的页面提取数据。简单来讲,它是基于scrapy内核可视化爬取内容,不需要任何开发专业知识动态匹配相同模板的内容。

5、Grab是一个用于构建Web刮板的Python框架。借助Grab,您可以构建各种复杂的网页抓取工具,从简单的5行脚本到处理数百万个网页的复杂异步网站抓取工具。Grab提供一个API用于执行网络请求和处理接收到的内容,例如与HTML文档的DOM树进行交互。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/9858430.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存