python爬虫教程书籍-Python爬虫教程-爬取豆瓣读书
豆瓣读书爬虫
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爬虫教程-爬取豆瓣读书相关推荐
- Python3爬虫新手项目详解:爬取豆瓣读书的前50条评论内容并显示评分。提示:有的评论不包含评分
爬取<三体>,相关网页内容如下: https://book.douban.com/subject/2567698/comments/hot?p=1 开始之前我们先明确一下爬虫的基本步骤: ...
- 爬取豆瓣读书-豆瓣成员常用的标签(Python爬虫实战)
前两篇博客,我们介绍了如何对豆瓣读书历史记录进行抓取,这一篇博客是一个收尾工作. 传送门: 爬取豆瓣读书-用户信息页链接(Python爬虫实战) 爬取豆瓣读书-用户所有阅读书籍名称.日期和书籍链接(P ...
- python爬虫爬取豆瓣读书Top250
python爬虫爬取豆瓣读书Top250 话不多说,直接上代码! from urllib.request import urlopen, Request from bs4 import Beautif ...
- 爬虫实战2(上):爬取豆瓣影评
这次我们将主要尝试利用python+requsets模拟登录豆瓣爬取复仇者联盟4影评,首先让我们了解一些模拟登录相关知识补充.本文结构如下: request模块介绍与安装 get与post方式介 ...
- python爬取豆瓣读书简单_Python用16行代码就搞定了爬取豆瓣读书页面
点击蓝字"python教程"关注我们哟! 我们一直说Python比较简单,代码体量没有别的程序那么大,对于初学者,尤其是零编程基础的初学者来说,感触没有那么明显,那么今天就让你见识 ...
- 爬虫项目实操三、用scrapy框架爬取豆瓣读书Top250的书名,出版信息和评分
安装方法:Windows:在终端输入命令:pip install scrapy:mac:在终端输入命令:pip3 install scrapy,按下enter键,再输入cd Python,就能跳转到P ...
- 基于Python,爬取豆瓣读书源码
记得上次分享了一个抓取豆瓣妹子美女图片的脚本,今天给大家分享一个爬取豆瓣读书的源码,也算是做个记录吧,目前已经在学习编程的路上,以后要是想写什么爬虫也可以参考参考自己收藏的一些代码,嗯,虽然我还是个代 ...
- 爬虫实战2(下):爬取豆瓣影评
上篇笔记我详细讲诉了如何模拟登陆豆瓣,这次我们将记录模拟登陆+爬取影评(复仇者联盟4)实战.本文行文结构如下: 模拟登陆豆瓣展示 分析网址和源码爬取数据 进行面对对象重构 总结 一.模拟登陆 ...
- 爬虫beautifulsoup爬取豆瓣读书数据
爬虫beautifulsoup爬取豆瓣读书数据:主要是爬取收集书的名字.类别.简介,用于接下来的聚类学习. 豆瓣链接:https://book.douban.com/tag/?view=type&am ...
- 使用python的scrapy框架简单的爬取豆瓣读书top250
使用python的scrapy框架简单的爬取豆瓣读书top250 一.配置scrapy环境 1. 配置相应模块 如果没有配置过scrapy环境的一般需要安装lxml.PyOpenssl.Twisted ...
最新文章
- 1048 Find Coins(二分法解法)
- 防止网页被嵌入框架的代码(续)
- jquery ajax自动完成,使用AJAX进行JQuery自动完成(JQuery Autocomplete with AJAX)
- eclipse中maven的user settings和global settings的区别
- 如何发送Head请求
- 16 input默认样式清除
- 【BZOJ3611】【HeOI2014】—大工程(虚树+dp)
- 计算机序号函数,EXCEL函数自动编号/编码单条件和多条件的几种方法
- 关于flex布局的深入学习
- 需加装饰——装饰模式
- PyCharm运行出现 Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run
- jQuery hash 插件
- Linux内存管理:反向映射机制(匿名页,文件页和ksm页)
- linux tab键失灵了,Linux grep \t Tab 键失效
- MySql-STDEV、STDEVP、VAR、VARP
- c++primerplus6notes
- 2021第十二届蓝桥杯大赛软件赛省赛C++ C组真题题解
- 图文并茂的Python散点图教程
- 网站降权如何查询?几个方法定位网站是否被降权
- 11.面向对象设计笔记
热门文章
- 图像转换为向量 matlab,matlab图像转换成图像块向量im2col
- 全彩色LED灯带中应用到的LED炫彩灯
- 解决CondaHTTPError: HTTP 000 CONNECTION FAILED for url <https://mirrors.tuna.tsinghua.edu.cn/anaconda/
- 简单选择排序显示第K趟
- 第1章:开始启程 - 你的第一行android代码
- MATLAB数字图像处理复习概览
- 心灵指南 刘墉 第一辑 超越自己 笔记
- Linux:进程地址空间管理(图文详解总结)
- linux测试工具smartpower,linux下硬盘健康的检测smartmontools
- Go语言gdb调试打印全局变量