使用到的库
- 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 =

该代码示例展示了如何利用Python的requests库发送HTTP请求,结合lxml库的xpath解析方法,抓取当当网图书畅销榜的详细信息,包括排名、书名、评论数等,并提供了完整的爬虫函数实现。
最低0.47元/天 解锁文章
2182

被折叠的 条评论
为什么被折叠?



