使用scrapy选择器selector解析获取百度结果
Posted 烤红薯咖啡馆
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用scrapy选择器selector解析获取百度结果相关的知识,希望对你有一定的参考价值。
0x00 概述
需要成功安装scrapy,安装方法与本文无关,不在这多说。
0x01 配置settings
由于百度对于user-agent进行验证,所以需要添加。
settings.py中找到DEFAULT_REQUEST_HEADERS,设置好后如下:
DEFAULT_REQUEST_HEADERS = { \'user-agent\': \'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (Khtml, like Gecko) Maxthon/5.0.4.3000 Chrome/47.0.2526.73 Safari/537.36\', }
settings.py中找到ROBOTSTXT_OBEY,设置好后如下:
ROBOTSTXT_OBEY = False
0x02 写个爬虫
spider文件夹中建立baidu_spider.py,内容如下:
import scrapy from scrapy.selector import Selector class DmozSpider(scrapy.Spider): name = "dmoz" allowed_domains = ["baidu.com"] start_urls = [ "https://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=0&rsv_idx=1&tn=baidu&wd=1111&rsv_pq=e99a82620002899b&rsv_t=9aeedvIqMvwImRMhMsGBvD%2BjM%2Fd%2Byd10oiaBWGgrEiZ79fKqGUhhZCWWE0w&rqlang=cn&rsv_enter=1&rsv_sug3=4&rsv_sug1=1&rsv_sug7=100" ] def parse(self, response): sel = Selector(response) print sel.xpath(\'//h3[@class="t"]/a/text()\') print sel.xpath(\'//h3[@class="t"]/a/@href\')
0x03 看下结果
运行scrapy crawl dmoz命令。
内容和链接已经抓取出来,结果如下:
以上是关于使用scrapy选择器selector解析获取百度结果的主要内容,如果未能解决你的问题,请参考以下文章
Python爬虫之Scrapy框架系列(10)——Scrapy选择器selector