【爬虫作业】python爬虫作业——爬取汽车之家

爬取汽车之家期末作业:

代码如下所示:

python 复制代码
import random
import time

import requests  #发送网络请求
import parsel
import csv
# 1.发送网络请求
headers  = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36 Edg/96.0.1054.62',
    'cookie' :'cna=4PnlF84bLHECATzVzKSn1QVt; sca=affb7120; atpsidas=0812ac0d0153e7414eefc32b_1634996188_1; atpsida=341b48c86ac6a1e14421aa46_1640613502_50'
   }
csv_lmy = open('lmy-1.csv',mode='a',encoding='utf-8-sig',newline='')
csv_write = csv.writer(csv_lmy)#将文件以csv的方式保存
csv_write.writerow(['品牌','里程(万公里)','车龄','城市','认证','售价(万元)','原价(万元)','链接','车辆图片',])#将列表写入csv的前一行
for page in range(1,101):
    print(f'------------正在爬取第{page}页----------------------')
    url = f'https://www.che168.com/china/a0_0msdgscncgpi1ltocsp{page}exx0/'
    response = requests.get(url=url , headers = headers)
    # 2。获取数据 网页源代码
    print(response.text)
    lmy_html = response.text
    # 3.解析数据
    selector = parsel.Selector(lmy_html)
    lis = selector.css('.viewlist_ul li')
    for li in lis:
        try:
            name = li.css('.card-name::text').get()    #车名
            unit = li.css('.cards-unit::text').get()    #信息
            kemNumber = unit.split('/')[0]
            years = unit.split('/')[1]
            city = unit.split('/')[2]
            business = unit.split('/')[3]
            pirce = li.css('.pirce em::text').get()   #价格
            yprice = li.css('s::text').get()           #原价
            carinfo = li.css('.carinfo::attr(href)').get() #详情页链接
            img = li.css('img::attr(src)').get()       #图片链接
            #print(name,kemNumber,years,city,business,pirce,yprice,carinfo,img)
            csv_write.writerow([name,kemNumber,years,city,business,pirce,yprice,carinfo,img])
        except:
            pass
相关推荐
xwill*2 小时前
分词器(Tokenizer)-sentencepiece(把训练语料中的字符自动组合成一个最优的子词(subword)集合。)
开发语言·pytorch·python
咖啡の猫3 小时前
Python列表的查询操作
开发语言·python
Chiandra_Leong3 小时前
Python-Pandas、Numpy
python·pandas
BoBoZz193 小时前
ParametricObjectsDemo多种参数曲面展示及面上部分点法线展示
python·vtk·图形渲染·图形处理
quikai19813 小时前
python练习第三组
开发语言·python
ULTRA??4 小时前
初学protobuf,C++应用例子(AI辅助)
c++·python
CHANG_THE_WORLD4 小时前
Python 字符串全面解析
开发语言·python
甄心爱学习5 小时前
CSP认证 备考(python)
数据结构·python·算法·动态规划
sugar椰子皮5 小时前
【爬虫框架-3】闭包的用法
爬虫
databook5 小时前
数据会说谎?三大推断方法帮你“审问”数据真相
后端·python·数据分析