Python_使用requests获取当当网榜单中的图书数据

该代码示例展示了如何利用Python的requests库发送HTTP请求,结合lxml库的xpath解析方法,抓取当当网图书畅销榜的详细信息,包括排名、书名、评论数等,并提供了完整的爬虫函数实现。
摘要由CSDN通过智能技术生成

使用requests获取当当网榜单中的图书数据

使用到的库

  • requests
  • etree

概述

主要抓取目标为

  • 当当网图书畅销榜中近24小时畅销的图书信息

主要提取的数据为

  • 排名、书名、评论数、推荐度、作者信息、出版时间、出版社、折扣价、原价、折扣率、电子书价格、详情页链接

在这里插入图片描述

发送请求

# 设置cookie
cookies = {
   
    'ddscreen': '2',
    'dest_area': 'country_id%3D9000%26province_id%3D111%26city_id%20%3D0%26district_id%3D0%26town_id%3D0',
    '__permanent_id': '20230727111738725280659109780638954',
    '__visit_id': '20230727111738728252759597714636934',
    '__out_refer': '',
    '__trace_id': '20230727111738729253018287016217767'
}

# 设置请求头
headers = {
   
    'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7',
    'Accept-Language': 'zh-CN,zh;q=0.9',
    'Cache-Control': 'no-cache',
    'Connection': 'keep-alive',
    # Requests sorts cookies= alphabetically
    # 'Cookie': 'ddscreen=2; dest_area=country_id%3D9000%26province_id%3D111%26city_id%20%3D0%26district_id%3D0%26town_id%3D0; __permanent_id=20230311201918630282239304091816610; __visit_id=20230613202543057355948286659409526; __out_refer=; __rpm=...1686659146436%7C...1686659147726; __trace_id=20230613202548496123352493475398790',
    'Pragma': 'no-cache',
    'Referer': 'http://bang.dangdang.com/books/bestsellers/01.00.00.00.00.00-24hours-0-0-2-1',
    'Upgrade-Insecure-Requests': '1',
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36',
}

...

# 发送请求
response = requests.get(url, cookies=cookies, headers=headers, verify=False)

xpath解析提取数据

  • 本案例中主要使用Xpath来提取数据,也可以使用其他方法提取数据
# 使用XPATH解析提取数据
        lists = html.xpath('//div//ul[@class="bang_list clearfix bang_list_mode"]//li')

        # 提取:排名、书名、评论数、推荐度、作者信息、出版时间、出版社、折扣价、原价、折扣率、电子书价格
        for li in lists:
            book_info = 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

FREE_QIU

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值