python爬取——到我碗里来,汽车之家

在这里插入图片描述

由于上一章反爬了,没有成果,这次换了个网站——汽车之家,下面我们来爬吧!!

上代码!!

# -*- coding : utf-8 -*-
import re
import requests
import openpyxl
from bs4 import BeautifulSoup

def askUrl(url):
    try:
        req = requests.get(url) #连接地址
        req.encoding = 'gb2312'
        return req.text
    except:
        return ''

def getData(baseUrl):
    # 获取价格
    bold = re.compile(r'.*target="_self">(.*?)</a>')
    # 获取价格
    number = re.compile(r'<span class="score-number">(.*)</span>')
    datalist = []
    for i in range(10):
        url = baseUrl + str(i+1)+'.html'
        print(url)
        html = askUrl(url)
        soup = BeautifulSoup(html, "html.parser")
        for item in soup.find_all('div', class_='list-cont'):
            data = []
            item = str(item)  # 转换成字符串
            title = re.findall(bold, item)
            data.append(title)
            score = re.findall(number, item)
            data.append(score)
            datalist.append(data)
    return datalist


def saveData(data, path):
    book =openpyxl.Workbook()
    sheet = book.create_sheet("cars")
    col =('名称', '评分')
    sheet.append(col)  # 添加列头
    for i in range(150):
        row = data[i]
        for j in range(2):
            if len(row[j]) > 0:
                sheet.cell(row=(i +2), column=(j+1), value=row[j][0])
    book.save(path)  # 保存

#主函数
def main():
    print("开始爬取......")
    #爬取8-12万汽车地址
    baseurl = 'https://car.autohome.com.cn/price/list-8_12-0-0-0-0-0-0-0-0-0-0-0-0-0-0-'
    datalist = getData(baseurl)
    savapath='cars.xls'
    saveData(datalist,savapath)

main()
print("爬取完成")

展示成果!!

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值