1
punderson 2017-09-20 22:27:01 +08:00
1,你直接修改 middleware,针对某些链接用 driver,某些用 request。这样的话 scrapy 就会不会重复抓取。2,close()是相当于你关闭一个 tab,quit()则是退出浏览器。如果你在同一个 tab 里面不断打开 url,不知道会不会导致内存占用不大。没试验过
|
2
saximi OP @punderson 谢谢,因为我需要设置请求头,所以每次访问我都不得不用 request ( webdriver 应该没有设置请求头的功能吧?) ,但是同时我又希望使用 webdriver 的功能来访问页面,这种需求是不是就导致我不得不对于每个页面都要用 request 和 webdriver 分别加载了?
|
3
holajamc 2017-09-21 01:23:53 +08:00
说到 webdriver 和 headers,至少 PhantomJS 是可以自定义的 http://phantomjs.org/api/webpage/property/custom-headers.html
说到 webdriver 和 Scrapy,肯定是可以结合的 https://github.com/brandicted/scrapy-webdriver 鉴于 PhantomJS 的效率,可能需要使用一些参数来修补 使用缓存 --disk-cache=yes 不加载图片 --load-images=no 忽略 ssl error --ignore-ssl-errors=true 或者直接使用 Chrome Headless |