'''
爬取当当网的五星图书排行榜的信息
'''
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相关推荐

  1. Python爬虫 离线爬取当当网畅销书Top500的图书信息

    本实例还有另外的在线爬虫实现,有兴趣可点击在线爬取当当网畅销书Top500的图书信息 爬虫说明 1.使用requests和Lxml库爬取,(用BS4也很简单,这里是为了练习Xpath的语法) 2.爬虫 ...

  2. Python爬虫 在线爬取当当网畅销书Top500的图书信息

    本实例还有另外的离线爬虫实现,有兴趣可点击离线爬取当当网畅销书Top500的图书信息 爬虫说明 1.使用requests和Lxml库爬取,(用BS4也很简单,这里是为了练习Xpath的语法) 2.爬虫 ...

  3. python爬虫爬取当当网的商品信息

    python爬虫爬取当当网的商品信息 一.环境搭建 二.简介 三.当当网网页分析 1.分析网页的url规律 2.解析网页html页面 书籍商品html页面解析 其他商品html页面解析 四.代码实现 ...

  4. Scrapy爬取当当网的商品信息存到MySQL数据库

    Scrapy爬取当当网的商品信息存到MySQL数据库 Scrapy 是一款十分强大的爬虫框架,能够快速简单地爬取网页,存到你想要的位置.经过两天的摸索,终于搞定了一个小任务,将当当网的商品信息爬下来存 ...

  5. python爬取当当网的书籍信息并保存到csv文件

    python爬取当当网的书籍信息并保存到csv文件 依赖的库: requests #用来获取页面内容 BeautifulSoup #opython3不能安装BeautifulSoup,但可以安装Bea ...

  6. [Python]scrapy爬取当当网书籍相关信息

    最近想买两本程序设计的书籍,也就在当当网上面看了下,发现真是太多的书了.所以想着利用爬虫知识爬取下程序设计相关书籍的一些信息. 00_1. 首先是今天所用到的东西 python 3.5 + scrap ...

  7. 爬取当当网的图书信息之导读

    什么是爬虫 爬虫是用来抓取互联网上信息的程序.程序员可以利用爬虫来干很多事,有些挺酷炫,这里贴出知乎相关问题的网址https://www.zhihu.com/question/29372574 爬虫的 ...

  8. python爬虫之--爬取当当网商品信息

                                    python爬虫之--爬取当当网图商品信息                                               ...

  9. java爬取当当网所有分类的图书信息(ISBN,作者,出版社,价格,所属分类等)

    java爬取当当网所有分类的图书信息(ISBN,作者,出版社,价格,所属分类等) 顺手写的,没有建立新项目,放我自己的项目的一个文件夹里了,有兴趣的朋友可以拉下来试试 https://gitee.co ...

最新文章

  1. Spring Cloud限流详解(附源码)
  2. 青少年蓝桥杯_2020_steam考试_初级组_第二题
  3. js怎么定义combobox_好程序员web前端教程分享新手应该怎么学习webpack
  4. 每日一笑 | 周一,如何才能保持清醒?
  5. java 对应sql驱动版本_关于Oracle JDBC驱动版本、JDK版本、数据库版本对应关系(相关的报错:ORA-28040)...
  6. bootstrap综合大作业_齐齐哈尔市克东县城市管理综合执法局昼夜奋战清冰雪,全力以赴保畅通...
  7. 关于scanf和的问题
  8. 风变编程课 囚徒困境 答案_当您对所有这些有用的在线编程课程感到不知所措时,如何摆脱困境...
  9. Flink SQL CDC 上线!我们总结了 13 条生产实践经验
  10. 衔着树枝飞跃太平洋的傻鸟!(童话版)
  11. kettle官网下载
  12. DSP 程序远程升级 / Bootloader设计指南(四)——Bootloader数据流
  13. Zookeeper总结——知识点、选举机制、客户端操作及写数据流程、API操作、zookeeper分布式锁之 Curator、ZAB协议、CAP理论之zookeeper的CP理论
  14. python量化交易入门教程_搞金融的同学三小时快速入门python从零入门量化交易系列...
  15. 一些杂谈和对他们的认识程度
  16. 接地/漏电(原理图)/接零/零线保护
  17. ibm tivoli_使用Tivoli®Composite Application Manager监视Tivoli®Access Manager WebSEAL服务器事务以进行响应时间跟踪
  18. 视频教程-微信公众号实战(Java版本,带前后台)-微信开发
  19. 真实IP收集及其利用方式
  20. [JavaSE] 数据类型(变量、整形、长整型、双精度浮点、单精度浮点、字符、字节)

热门文章

  1. 信息的安全传输(JAVA实现信息的安全传输工具)
  2. OpenJ_Bailian - 2943小白鼠排队
  3. JavaScript高阶
  4. Debian安装redis
  5. IdCardGenerator生成工具
  6. hexo添加valine评论系统 (yilia主题)
  7. 读书笔记-Office 365开发入门指南
  8. 动网7.1 SP1得到后台密码得到WebShell
  9. 一个字节中的1的个数
  10. 中国电信物联网发展研究中心与华为战略合作协议