翼度科技»论坛 编程开发 python 查看内容

python爬取全国二手车数据,看看有没有可以捡漏的!

5

主题

5

帖子

15

积分

新手上路

Rank: 1

积分
15

 
絮叨一下

话说,最近从湖北开始汽车价格战,全国人民都跑到湖北买车去了,搞得人家都出政策限制外地人购买了。
不过12W的C6是真香呐,二十多万的C6一身毛病,12W的C6毛病在我!

这波价格战直接蔓延到全国,全国的二手车商已原地哭晕。
今天我们就用Python来获取一下全国二手车数据,看看二手车有没有降价的。
环境、模块
  1. python 3.8
  2. pycharm 2022.3专业版
  3. requests >>> pip install requests
  4. parsel >>> pip install parsel
复制代码
 
实现步骤


  • 发送请求
  • 获取数据
  • 解析数据
  • 保存数据
代码展示


  • 发送请求
  1. for page in range(1, 101):
  2.     url = f'https://www.***.com/china/a0_0msdgscncgpi1ltocsp{page}exx0/'
  3.     response = requests.get(url=url, headers=headers, proxies=get_proxies())
复制代码
 

  • 获取数据
  1. html_data = response.text
复制代码
 

  • 解析数据
  1.     select = parsel.Selector(html_data)
  2.     detail_url_list = select.xpath("//ul[@class='viewlist_ul']/li/a[@class='carinfo']/@href").getall()
  3.     # Python学习交流群:872937351
  4.     for detail_url in detail_url_list[:-1]:
  5.         if detail_url[1] == '/':
  6.             detail_url = 'https:' + detail_url
  7.         else:
  8.             detail_url = 'https://www.**.com' + detail_url
  9.         detail_html = requests.get(detail_url, headers=headers, proxies=get_proxies()).text
  10.         detail_select = parsel.Selector(detail_html)
  11.         title = detail_select.xpath("string(//h3[@class='car-brand-name'])").get("").strip()
  12.         licheng = detail_select.xpath("//ul[@class='brand-unit-item fn-clear']/li[1]/h4/text()").get("").strip()
  13.         shangpai = detail_select.xpath("//ul[@class='brand-unit-item fn-clear']/li[2]/h4/text()").get("").strip()
  14.         pailiang = detail_select.xpath("//ul[@class='brand-unit-item fn-clear']/li[3]/h4/text()").get("").strip()
  15.         suozaidi = detail_select.xpath("//ul[@class='brand-unit-item fn-clear']/li[4]/h4/text()").get("").strip()
  16.         guobiao = detail_select.xpath("//ul[@class='brand-unit-item fn-clear']/li[5]/h4/text()").get("").strip()
  17.         price = detail_select.xpath("string(//span[@id='overlayPrice'])").get("").strip()
  18.         print(title, licheng, shangpai, pailiang, suozaidi, guobiao, price, detail_url)
复制代码
 

  • 保存数据
  1. with open('汽车之家.csv', mode='a', encoding='utf-8', newline='') as f:
  2.     csv_writer = csv.writer(f)
  3.     csv_writer.writerow([card_name, cards_unit, price, img_url])
复制代码
 
尾语

好了兄弟们,今天的分享就到这里结束了,咱们下次再见!
大家赶紧去试试,看看二手车价格吧,说不定还能遇上心动的下个单!

来源:https://www.cnblogs.com/hahaa/p/17219657.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

举报 回复 使用道具