豆瓣读书爬虫

Python所写,豆瓣读书的爬虫,方便大家搜罗各种美美书!

写在前面

通过豆瓣评分和评价人数等规则,可非常好的探索挖掘经典图书和隐藏好书,从中更高效地汲取书中智慧。

实现功能

1 可以爬下豆瓣读书标签下的所有图书

2 按评分排名依次存储

3 存储到Excel中,可方便大家筛选搜罗,比如筛选评价人数>1000的高分书籍;可依据不同的主题存储到Excel不同的Sheet

4 采用User Agent伪装为浏览器进行爬取,并加入随机延时来更好的模仿浏览器行为,避免爬虫被封

项目源码

# !/usr/bin/python3# -*- coding: utf-8 -*-"""info:author:CriseLYJgithub:https://github.com/CriseLYJ/""""""请求url分析 :https://fanyi.baidu.com/basetrans请求方式分析 :POST请求参数分析 : {query: hellofrom: ento: zhtoken: 6f5c83b84d69ad3633abdf18abcb030dsign: 54706.276099}请求头分析"""# 代码实现流程# 1. 实现面对对象构建爬虫对象# 2. 爬虫流程四步骤# 2.1 获取URl# 2.2 发送请求获取响应# 2.3 从响应中提取数据# 2.4 保存数据import requestsimport js2pycontext = js2py.EvalJs()# 翻译模式# 0:英译中 1:中译英translating_mode = 0class BaiDuTranslater(object):"""百度翻译爬虫"""def __init__(self, query):# 初始化self.url = "https://fanyi.baidu.com/basetrans"self.query = queryself.headers = {"User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1","Referer": "https://fanyi.baidu.com/","Cookie": "BAIDUID=714BFAAF02DA927F583935C7A354949A:FG=1; BIDUPSID=714BFAAF02DA927F583935C7A354949A; PSTM=1553390486; delPer=0; PSINO=5; H_PS_PSSID=28742_1463_21125_18559_28723_28557_28697_28585_28640_28604_28626_22160; locale=zh; from_lang_often=%5B%7B%22value%22%3A%22en%22%2C%22text%22%3A%22%u82F1%u8BED%22%7D%2C%7B%22value%22%3A%22zh%22%2C%22text%22%3A%22%u4E2D%u6587%22%7D%5D; to_lang_often=%5B%7B%22value%22%3A%22en%22%2C%22text%22%3A%22%u82F1%u8BED%22%7D%2C%7B%22value%22%3A%22zh%22%2C%22text%22%3A%22%u4E2D%u6587%22%7D%5D; REALTIME_TRANS_SWITCH=1; FANYI_WORD_SWITCH=1; HISTORY_SWITCH=1; SOUND_SPD_SWITCH=1; SOUND_PREFER_SWITCH=1; Hm_lvt_afd111fa62852d1f37001d1f980b6800=1553658863,1553766321,1553769980,1553770442; Hm_lpvt_afd111fa62852d1f37001d1f980b6800=1553770442; Hm_lvt_64ecd82404c51e03dc91cb9e8c025574=1553766258,1553766321,1553769980,1553770442; Hm_lpvt_64ecd82404c51e03dc91cb9e8c025574=1553770442"}def make_sign(self):# js逆向获取sign的值with open("translate.js", "r", encoding="utf-8") as f:context.execute(f.read())# 调用js中的函数生成signsign = context.a(self.query)# 将sign加入到data中return signdef make_data(self, sign):# 判断翻译模式,选取对应的 from 和 to 值.if translating_mode == 0:from_str = "en"to_str = "zh"else:from_str = "zh"to_str = "en"data = {"query": self.query,"from": from_str,"to": to_str,"token": "6f5c83b84d69ad3633abdf18abcb030d","sign": sign}return datadef get_content(self, data):# 发送请求获取响应response = requests.post(url=self.url,headers=self.headers,data=data)return response.json()["trans"][0]["dst"]def run(self):"""运行程序"""# 获取sign的值sign = self.make_sign()# 构建参数data = self.make_data(sign)# 获取翻译内容content = self.get_content(data)print(content)if __name__ == '__main__':translating_mode = int(input("请输入翻译模式(0:英译中 1:中译英):"))query = input("请输入您要翻译的内容:")translater = BaiDuTranslater(query)translater.run()

初学者对Python的概念模糊不清的,Python能做什么,学的时候该按照什么线路去学习,学完往哪方面发展,想深入了解python web网站开发、python爬虫、数据分析、大数据,人工智能等技术可以加我交流群!给大家分享一套Python学习资料,帮助大家在成为Python高手的道路上披荆斩棘!

帮忙点个 再看 转发一下 分享出去

然后加python qq交流群:322795889, 免费获取

PS:如果觉得本篇文章对您有所帮助,欢迎关注、订阅、顶!

*声明:本文于网络整理,版权归原作者所有,如来源信息有误或侵犯权益,请联系我们删除或授权事宜。

python爬虫教程书籍-Python爬虫教程-爬取豆瓣读书相关推荐

  1. Python3爬虫新手项目详解:爬取豆瓣读书的前50条评论内容并显示评分。提示:有的评论不包含评分

    爬取<三体>,相关网页内容如下: https://book.douban.com/subject/2567698/comments/hot?p=1 开始之前我们先明确一下爬虫的基本步骤: ...

  2. 爬取豆瓣读书-豆瓣成员常用的标签(Python爬虫实战)

    前两篇博客,我们介绍了如何对豆瓣读书历史记录进行抓取,这一篇博客是一个收尾工作. 传送门: 爬取豆瓣读书-用户信息页链接(Python爬虫实战) 爬取豆瓣读书-用户所有阅读书籍名称.日期和书籍链接(P ...

  3. python爬虫爬取豆瓣读书Top250

    python爬虫爬取豆瓣读书Top250 话不多说,直接上代码! from urllib.request import urlopen, Request from bs4 import Beautif ...

  4. 爬虫实战2(上):爬取豆瓣影评

       这次我们将主要尝试利用python+requsets模拟登录豆瓣爬取复仇者联盟4影评,首先让我们了解一些模拟登录相关知识补充.本文结构如下: request模块介绍与安装 get与post方式介 ...

  5. python爬取豆瓣读书简单_Python用16行代码就搞定了爬取豆瓣读书页面

    点击蓝字"python教程"关注我们哟! 我们一直说Python比较简单,代码体量没有别的程序那么大,对于初学者,尤其是零编程基础的初学者来说,感触没有那么明显,那么今天就让你见识 ...

  6. 爬虫项目实操三、用scrapy框架爬取豆瓣读书Top250的书名,出版信息和评分

    安装方法:Windows:在终端输入命令:pip install scrapy:mac:在终端输入命令:pip3 install scrapy,按下enter键,再输入cd Python,就能跳转到P ...

  7. 基于Python,爬取豆瓣读书源码

    记得上次分享了一个抓取豆瓣妹子美女图片的脚本,今天给大家分享一个爬取豆瓣读书的源码,也算是做个记录吧,目前已经在学习编程的路上,以后要是想写什么爬虫也可以参考参考自己收藏的一些代码,嗯,虽然我还是个代 ...

  8. 爬虫实战2(下):爬取豆瓣影评

       上篇笔记我详细讲诉了如何模拟登陆豆瓣,这次我们将记录模拟登陆+爬取影评(复仇者联盟4)实战.本文行文结构如下: 模拟登陆豆瓣展示 分析网址和源码爬取数据 进行面对对象重构 总结   一.模拟登陆 ...

  9. 爬虫beautifulsoup爬取豆瓣读书数据

    爬虫beautifulsoup爬取豆瓣读书数据:主要是爬取收集书的名字.类别.简介,用于接下来的聚类学习. 豆瓣链接:https://book.douban.com/tag/?view=type&am ...

  10. 使用python的scrapy框架简单的爬取豆瓣读书top250

    使用python的scrapy框架简单的爬取豆瓣读书top250 一.配置scrapy环境 1. 配置相应模块 如果没有配置过scrapy环境的一般需要安装lxml.PyOpenssl.Twisted ...

最新文章

  1. 1048 Find Coins(二分法解法)
  2. 防止网页被嵌入框架的代码(续)
  3. jquery ajax自动完成,使用AJAX进行JQuery自动完成(JQuery Autocomplete with AJAX)
  4. eclipse中maven的user settings和global settings的区别
  5. 如何发送Head请求
  6. 16 input默认样式清除
  7. 【BZOJ3611】【HeOI2014】—大工程(虚树+dp)
  8. 计算机序号函数,EXCEL函数自动编号/编码单条件和多条件的几种方法
  9. 关于flex布局的深入学习
  10. 需加装饰——装饰模式
  11. PyCharm运行出现 Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run
  12. jQuery hash 插件
  13. Linux内存管理:反向映射机制(匿名页,文件页和ksm页)
  14. linux tab键失灵了,Linux grep \t Tab 键失效
  15. MySql-STDEV、STDEVP、VAR、VARP
  16. c++primerplus6notes
  17. 2021第十二届蓝桥杯大赛软件赛省赛C++ C组真题题解
  18. 图文并茂的Python散点图教程
  19. 网站降权如何查询?几个方法定位网站是否被降权
  20. 11.面向对象设计笔记

热门文章

  1. 图像转换为向量 matlab,matlab图像转换成图像块向量im2col
  2. 全彩色LED灯带中应用到的LED炫彩灯
  3. 解决CondaHTTPError: HTTP 000 CONNECTION FAILED for url <https://mirrors.tuna.tsinghua.edu.cn/anaconda/
  4. 简单选择排序显示第K趟
  5. 第1章:开始启程 - 你的第一行android代码
  6. MATLAB数字图像处理复习概览
  7. 心灵指南 刘墉 第一辑 超越自己 笔记
  8. Linux:进程地址空间管理(图文详解总结)
  9. linux测试工具smartpower,linux下硬盘健康的检测smartmontools
  10. Go语言gdb调试打印全局变量