
发网络爬虫应该选择Nutch、Crawler4j、WebMagic、scrapy、WebCollector其按照我经验随便扯淡:面说爬虫基本3类:1布式爬虫:Nutch
2JAVA单机爬虫:Crawler4j、WebMagic、WebCollector
3 非JAVA单机爬虫:scrapy
第类:布式爬虫
爬虫使用布式主要解决两问题:
1)海量URL管理
2)网速
现比较流行布式爬虫ApacheNutch于数用户说Nutch几类爬虫选择理由:
1)Nutch搜索引擎设计爬虫数用户需要做精准数据爬取(精抽取)爬虫Nutch运行套流程三二搜索引擎设计精抽取没太意义说用Nutch做数据抽取浪费间必要计算且试图通Nutch进行二发使适用于精抽取业务基本要破坏Nutch框架Nutch改面目全非修改Nutch能力真自重新写布式爬虫框架
2)Nutch依赖hadoop运行hadoop本身消耗间集群机器数量较少爬取速度反单机爬虫快
3)Nutch虽套插件机制且作亮点宣传看些源Nutch插件提供精抽取功能发Nutch插件都知道Nutch插件系统蹩脚利用反射机制加载调用插件使程序编写调试都变异困难更别说面发套复杂精抽取系统且Nutch并没精抽取提供相应插件挂载点Nutch插件五六挂载点五六挂载点都搜索引擎服务并没精抽取提供挂载点数Nutch精抽取插件都挂载页面解析(parser)挂载点挂载点其实解析链接(续爬取提供URL)及搜索引擎提供些易抽取网页信息(网页meta信息、text文本)
4)用Nutch进行爬虫二发爬虫编写调试所需间往往单机爬虫所需十倍间止解Nutch源码习本高何况要让团队都读懂Nutch源码调试程现除程序本身外各种问题(hadoop问题、hbase问题)
5)说Nutch2gora持久化数据avro文件、hbase、mysql等其实理解错说持久化数据指URL信息(URL管理所需要数据)存放avro、hbase、mysql并要抽取结构化数据其实数说URL信息存哪所谓
6)Nutch2版本目前并适合发官现稳定Nutch版本nutch221版本绑定gora-03想用hbase配合nutch(数用nutch2用hbase)能使用090版本左右hbase相应要hadoop版本降hadoop 02左右且nutch2官教程比较误导作用Nutch2教程两别Nutch1xNutch2xNutch2x官网写支持hbase 094实际Nutch2x意思Nutch23前、Nutch221版本版本官SVN断更新且非稳定(直修改)
所要做搜索引擎尽量要选择Nutch作爬虫些团队喜欢跟风非要选择Nutch发精抽取爬虫其实冲着Nutch名气(Nutch作者Doug Cutting)结往往项目延期完
要做搜索引擎Nutch1x非选择Nutch1xsolr或者es配合构套非强搜索引擎非要用Nutch2建议等Nutch23发布再看目前Nutch2非稳定版本
第二类:JAVA单机爬虫
JAVA爬虫单独类JAVA网络爬虫块态圈非完善相关资料全能争议我随便扯淡
其实源网络爬虫(框架)发非简单难问题复杂问题都前解决(比DOM树解析定位、字符集检测、海量URL重)说毫技术含量包括Nutch其实Nutch技术难点发hadoop本身代码非简单网络爬虫某种意义说类似遍历本机文件查找文件信息没任何难度言所选择源爬虫框架省事比爬虫URL管理、线程池类模块谁都能做要做稳定需要段间调试修改
于爬虫功能说用户比较关问题往往:
1)爬虫支持线程、爬虫能用代理、爬虫爬取重复数据、爬虫能爬取JS信息
支持线程、支持代理、能滤重复URL都叫源爬虫叫循环执行>
也许你在浏览一些网页的时候会遇到这种情况,有的网页的内容会设置为登录可见。
如果想要用driver去驱动浏览器浏览隐藏内容的话,就需要事先给它添加cookie信息,这几天使用的时候遇到了一些坑,简单说明下。
首先,我们先创建一个driver:
创建出来的driver专门有一个添加cookie信息的方法 driveradd_cookie() ,他接受的参数是一个字典。回到本文正题,下面说说坑。
add_cookie() 方法接受的字典参数的键名不是随意起的。
不能想当然地分解获取到内容的等号左右的信息。他的键名都是有意义的,一般记住 name 和 value 即可,分别代表cookie的名称和动态生成的值。
确保获取到的cookie内容是有效的。
举个栗子,这是我在登陆某网站后看到的cookie内容:
当然,不知道的话也可以多尝试,但如果你是第一次使用 add_cookie() 方法,建议你一定要在尝试前先看看坑三!
当你高高兴兴地进入目标网址,并想给driver添加好cookie信息:
它可能会报错,注意,这里说的是可能。
如果你遇到了类似 Message: unable to set cookie 的错误,建议使用更稳妥的方式:
就是说,在登录页面添加cookie信息,然后再访问目标网址。
如有错误,欢迎指正~
以上就是关于scrapy爬知乎问题,每次爬到240000多以后就结束了,什么原因全部的内容,包括:scrapy爬知乎问题,每次爬到240000多以后就结束了,什么原因、抓取oppo商城ua和cookie、Python使用selenium库为driver添加cookie信息的一些坑等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)