使用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

Python爬虫之Scrapy框架系列(10)——Scrapy选择器selector

scrapy框架之Selectors选择器

scrapy框架Selector提取数据

scrapy框架

Scrapy爬虫框架中Selector的具体用法介绍