首页 > 其他 > 详细

scrapy知识点

时间:2021-03-28 22:27:44      阅读:30      评论:0      收藏:0      [点我收藏+]

extract_first() 会避免 IndexError ,并且在找不到与选择匹配的元素时返回 None

另一件事是调用 .extract() 的结果是一个列表,因为我们处理的是 SelectorList 的一个实例。当您知道你只想要第一个结果,在这种情况下,您可以做:

>>> response.css(‘title::text‘).extract_first()
‘Quotes to Scrape‘
此外,您还可以这样做:

>>> response.css(‘title::text‘)[0].extract()
‘Quotes to Scrape‘

使用 .extract_first() 会避免 IndexError ,并且在找不到与选择匹配的元素时返回 None 。

爬虫出现Forbidden by robots.txt

先说结论,关闭scrapy自带的ROBOTSTXT_OBEY功能,在setting找到这个变量,设置为False即可解决。
使用scrapy爬取淘宝页面的时候,在提交http请求时出现debug信息Forbidden by robots.txt,看来是请求被拒绝了。
这个文件中规定了本站点允许的爬虫机器爬取的范围(比如你不想让百度爬取你的页面,就可以通过robot来限制),因为默认scrapy遵守robot协议,所以会先请求这个文件查看自己的权限,而我们现在访问这个url得到
参考资料:爬虫出现Forbidden by robots.txt

scrapy知识点

原文:https://www.cnblogs.com/ministep/p/14589521.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!