使用scrapy框架爬取淘车网的列表页和详情页的信息,实现scrapy框架的好几级的请求

本文详细介绍了如何使用Scrapy框架爬取淘车网的列表页和详情页信息,包括分析接口、请求URL、分页、解析列表页和详情页的数据字段,以及设置pipelines和settings来处理数据和控制日志输出。
摘要由CSDN通过智能技术生成

淘车网:https://www.taoche.com/

当我们选好城市,品牌,url变成下面这样

创建scrapy项目:

scrapy startproject scrapyProject

创建spider小爬虫:

scrapy genspider s_taoche taoche.com

目录

1.请求列表页

(1)分析接口

(2)请求url

(3)分页

2.items.py

3.解析列表页

4.解析详情页

5.pipelines.py

6.settings.py

(1)不遵守robots.txt协议

(2)pipeline

(3)输入日志文件

7.运行项目

方法一:cmd-->scrapy crawl s_taoche

方法二:main.py


1.请求列表页

(1)分析接口

https://{}.taoche.com/{}/

第一个{}添地名,第二个{}添品牌

地名的品牌的获取

方法一:直接出现过的地点,品牌写到一个文件里面,直接可以用

方法二:请求url='https://www.taoche.com/' ,构建树,使用xpath找到地址,品牌,然后拼接url,再次请求

因为后面步骤还很多,我就选用方法一

(2)请求url

s_taoche.py

class STaocheSpider(scrapy.Spider):
    name = 's_taoche'
    allowed_domains = ['taoche.com']
    # 一次请求
    start_urls = []
    'https://chongqing.taoche.com/volkswagen/'
    # 1.生成所有城市不同车型的首页地址
    for city in CITY_CODE:
        for car in CAR_CODE_LIST:
            # url = 'https://{}.taoche.com/{}/'.format(city, car)
            url=f'https://{city}.taoche.com/{car}/'
            start_urls.append(url)

    def parse(self, response):
        pass

(3)分页

通过请求的url   得到response  

在页面获取到最大页数,从1到最大页数遍历,拼接成完成的url

代码实现:

此时需要二次请求url,不能直接写在start_urls里面,需要封装一个二次请求的函数,

使用parse函数的格式

    def parse(self, response):
        # 1.从首页获取最大的页面page
        max_page1 = response.xpath('//div[@class="paging-box the-pages"]/div/a[last()-1]/text()').extract()
        max_page = self.get_value(max_page1)
        # 二次请求,不能直接写在start_urls里面,需要封装一个二次请求的函数
        # 2.列表页的翻页
        'https://chongqing.taoche.com/volkswagen/?page=3'
        for i in range(1, int(max_page) + 1):
            # url=response.url+'?page={}'.format(i)
            url = response.url + f'?page={i}'
            # 3.封装请求  自己写一个parse的函数
            y
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值