请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

rule中follow参数为true。

1、对这个爬取follow=true,不太清楚里面的规则。以拉勾网一个具体招聘为例,每一个招聘页面,正文为一个具体工作,右边会有几个推荐工作链接。这样抓取的话,会不会出现爬虫永远都抓取不完?
因为右侧的推荐永远都是有的。
follow=true的具体抓取策略是什么?
会把整个页面的url全部提取,然后根据rule进行过滤,还是特定只抓取页面特定的一部分。
2、还有就是这个url抓取,爬虫会自动去重么,还是自己后期再进行去重处理。

我这在抓取猎聘网职位,但是感觉跑不完了····

正在回答

2回答

bobby 2019-01-01 20:00:36

crawler是为了做全站爬取的。如果有特别的抓取需求 比如像你这样的不抓取右侧的推荐工作的话 不适合用crawler而是直接继承spider就行了

0 回复 有任何疑惑可以回复我~
  • 提问者 starkpan #1
    我是想要全站爬取,但是这个爬虫如何判断已经爬取了全站,什么时候停下来?
    还是会一直不停的爬下去,永不休止。
    回复 有任何疑惑可以回复我~ 2019-01-01 21:18:35
  • bobby 回复 提问者 starkpan #2
    这个是会一直抓取下去的,知道没有重复的url, 如果需要停止爬虫 你可以去重写parse方法 去根据自己的需求去调用spider的close方法关闭爬虫的
    回复 有任何疑惑可以回复我~ 2019-01-03 17:22:15
  • 提问者 starkpan 回复 bobby #3
    终于跑完了,因为怕被反爬虫了,所以降低了速度。爬取了猎聘网所有的职位,大概1G文件.多谢老师解答。
    回复 有任何疑惑可以回复我~ 2019-01-04 22:03:57
提问者 starkpan 2018-12-31 12:27:38

查了查,crapy默认是有去重的 在 classRequest中 __init__中有一个参数为dont_filter=False,也就是默认是去重的。

0 回复 有任何疑惑可以回复我~
  • bobby #1
    dont_filter设置为true才代表不去重的
    回复 有任何疑惑可以回复我~ 2019-01-01 19:58:50
  • 提问者 starkpan 回复 bobby #2
    咱俩说的意思一样吧。默认为FALSE是去重的,也就是说,为TRUE的时候,是不去重的。
    按理说,重复的数据,一般是没有多大意义的,所以默认去重。
    回复 有任何疑惑可以回复我~ 2019-01-01 21:21:02
  • bobby 回复 提问者 starkpan #3
    这个不一定的, 比如这个页面数据更新了 这个时候你需要重新抓取的, 所以具体要看抓取的网站的数据是否会更新以及你是否需要去更新这些数据
    回复 有任何疑惑可以回复我~ 2019-01-03 17:21:22
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信