如何爬取当当网畅销书排行榜信息? requests + pyquery
'''
爬取当当网的五星图书排行榜的信息
'''
Max_Page = 3 # 爬取前三页的排行榜信息
import requests
from pyquery import PyQuery as pq
import jsondef requests_dangdang(url, headers=None, retry=3):for _ in range(retry):try:response = requests.get(url=url, headers=headers)if response.status_code == 200:response.encoding = response.apparent_encodingreturn response.textexcept requests.RequestException as e:print(f'Requests Error:\n\t{url}\n\t{e.args}')return Nonedef parse_html(text):doc = pq(text)('ul[class="bang_list clearfix bang_list_mode"] li')for item in doc.items():yield {'排名': item('[class^="list_num"]').text().rstrip('.'), ## 排名'书名': item('.name a').text(), ## 书名'推荐指数': item('.star .tuijian').text(), ## 推荐指数'作者': item('.publisher_info a').attr.title, ## 作者'五星评分次数': item('.biaosheng span').text(), ## 五星评分次数'价格': item('.price p:not([class]) .price_n').text(), ## 价格'图书链接': item('.pic a').attr.href ## 图书链接}returndef save_book_info(book):json_str = json.dumps(book, ensure_ascii=False, indent=4)with open('book.json', 'a', encoding='utf-8') as f:f.write(json_str)def run(max_page=Max_Page):for page in range(1, max_page+1):url = f'http://bang.dangdang.com/books/fivestars/01.00.00.00.00.00-recent30-0-0-1-{str(page)}'text = requests_dangdang(url)if text == None:continuefor book in parse_html(text):save_book_info(book)if __name__ == '__main__':run()
执行结果:
{"排名": "1","书名": "谜案鉴赏","推荐指数": "100%推荐","作者": "[美]莉比・菲舍尔・赫尔曼 著,汪德均 /刘建洲/马遇乐 译","五星评分次数": "17669次","价格": "¥35.80","图书链接": "http://product.dangdang.com/28470981.html"
}{"排名": "2","书名": "朝圣者","推荐指数": "100%推荐","作者": "【澳】泰瑞・海耶斯 译尤传莉著;酷威文化 出品","五星评分次数": "19538次","价格": "¥45.20","图书链接": "http://product.dangdang.com/25141508.html"
}
如何爬取当当网畅销书排行榜信息? requests + pyquery相关推荐
- Python爬虫 离线爬取当当网畅销书Top500的图书信息
本实例还有另外的在线爬虫实现,有兴趣可点击在线爬取当当网畅销书Top500的图书信息 爬虫说明 1.使用requests和Lxml库爬取,(用BS4也很简单,这里是为了练习Xpath的语法) 2.爬虫 ...
- Python爬虫 在线爬取当当网畅销书Top500的图书信息
本实例还有另外的离线爬虫实现,有兴趣可点击离线爬取当当网畅销书Top500的图书信息 爬虫说明 1.使用requests和Lxml库爬取,(用BS4也很简单,这里是为了练习Xpath的语法) 2.爬虫 ...
- python爬虫爬取当当网的商品信息
python爬虫爬取当当网的商品信息 一.环境搭建 二.简介 三.当当网网页分析 1.分析网页的url规律 2.解析网页html页面 书籍商品html页面解析 其他商品html页面解析 四.代码实现 ...
- Scrapy爬取当当网的商品信息存到MySQL数据库
Scrapy爬取当当网的商品信息存到MySQL数据库 Scrapy 是一款十分强大的爬虫框架,能够快速简单地爬取网页,存到你想要的位置.经过两天的摸索,终于搞定了一个小任务,将当当网的商品信息爬下来存 ...
- python爬取当当网的书籍信息并保存到csv文件
python爬取当当网的书籍信息并保存到csv文件 依赖的库: requests #用来获取页面内容 BeautifulSoup #opython3不能安装BeautifulSoup,但可以安装Bea ...
- [Python]scrapy爬取当当网书籍相关信息
最近想买两本程序设计的书籍,也就在当当网上面看了下,发现真是太多的书了.所以想着利用爬虫知识爬取下程序设计相关书籍的一些信息. 00_1. 首先是今天所用到的东西 python 3.5 + scrap ...
- 爬取当当网的图书信息之导读
什么是爬虫 爬虫是用来抓取互联网上信息的程序.程序员可以利用爬虫来干很多事,有些挺酷炫,这里贴出知乎相关问题的网址https://www.zhihu.com/question/29372574 爬虫的 ...
- python爬虫之--爬取当当网商品信息
python爬虫之--爬取当当网图商品信息 ...
- java爬取当当网所有分类的图书信息(ISBN,作者,出版社,价格,所属分类等)
java爬取当当网所有分类的图书信息(ISBN,作者,出版社,价格,所属分类等) 顺手写的,没有建立新项目,放我自己的项目的一个文件夹里了,有兴趣的朋友可以拉下来试试 https://gitee.co ...
最新文章
- Spring Cloud限流详解(附源码)
- 青少年蓝桥杯_2020_steam考试_初级组_第二题
- js怎么定义combobox_好程序员web前端教程分享新手应该怎么学习webpack
- 每日一笑 | 周一,如何才能保持清醒?
- java 对应sql驱动版本_关于Oracle JDBC驱动版本、JDK版本、数据库版本对应关系(相关的报错:ORA-28040)...
- bootstrap综合大作业_齐齐哈尔市克东县城市管理综合执法局昼夜奋战清冰雪,全力以赴保畅通...
- 关于scanf和的问题
- 风变编程课 囚徒困境 答案_当您对所有这些有用的在线编程课程感到不知所措时,如何摆脱困境...
- Flink SQL CDC 上线!我们总结了 13 条生产实践经验
- 衔着树枝飞跃太平洋的傻鸟!(童话版)
- kettle官网下载
- DSP 程序远程升级 / Bootloader设计指南(四)——Bootloader数据流
- Zookeeper总结——知识点、选举机制、客户端操作及写数据流程、API操作、zookeeper分布式锁之 Curator、ZAB协议、CAP理论之zookeeper的CP理论
- python量化交易入门教程_搞金融的同学三小时快速入门python从零入门量化交易系列...
- 一些杂谈和对他们的认识程度
- 接地/漏电(原理图)/接零/零线保护
- ibm tivoli_使用Tivoli®Composite Application Manager监视Tivoli®Access Manager WebSEAL服务器事务以进行响应时间跟踪
- 视频教程-微信公众号实战(Java版本,带前后台)-微信开发
- 真实IP收集及其利用方式
- [JavaSE] 数据类型(变量、整形、长整型、双精度浮点、单精度浮点、字符、字节)