python爬豆瓣top250书籍_Python——爬取目标豆瓣图书TOP250
目标网址:https://book.douban.com/top250?start=0
导入模块:
import requests
from bs4 import BeautifulSoup
添加headers,模拟浏览器访问:
因为有些网页如果我们直接去请求的话,他会查看请求的对象是不是浏览器,如果没有浏览器信息就会禁止我们爬虫的访问
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36'}
User-Agent在浏览器中,查看网页源代码,找到Network
爬取豆瓣图书信息():
i = 1
s = ""
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36'}
for x in range(0,10):
resp = requests.get("https://book.douban.com/top250?start=%d"%(x*25),timeout=None,headers = headers)
#目标网址中,每一页都以25的倍数递增,timeout=None,在网络不佳的时候一直等待
soup = BeautifulSoup(resp.text,'html.parser')
book_names = soup.find_all('div',class_='pl2')#书名
authors = soup.find_all('p','pl')#作者
scores = soup.find_all('span',class_='rating_nums')#评分
introducts = soup.find_all('table',width="100%")#简介
for book_name,author,score,introduct in zip(book_names,authors,scores,introducts):
s += str("%d.《%s》\n" % (i,book_name.find('a')['title']))
s += str("%s\n" % (author.get_text()))
s += str("评分:%s\n" % (score.get_text()))
itd = introduct.find('span',class_='inq')
if(itd != None): #因为有些图书没有简介
s += str("简介:\"%s\"\n" % (itd.get_text()))
else:
s += str("简介:None\n")
s += str("===========================================================================\n")
i += 1
现在我们 爬取到了信息,然后把它保存到本地文本文件
在windows下面,新文件的默认编码是gbk,这样的话,python解释器会用gbk编码去解析我们的网络数据流txt,然而txt此时已经是decode过的unicode编码,这样的话就会导致解析不了,出现上述问题。 解决的办法就是,改变目标文件的编码:
with open("豆瓣图书TOP250.txt","w",encoding = 'utf-8') as f:
f.write(s)
这样就把豆瓣图书的信息保存在了本地文件里面
python爬豆瓣top250书籍_Python——爬取目标豆瓣图书TOP250相关推荐
- python爬取豆瓣书籍_Python 爬取豆瓣读书标签下的书籍
这几天想爬下豆瓣读书时发现 github 上他人分享的源码都有一定年份了,豆瓣读书的页面貌似也稍微改了,于是就在前人轮子的基础上改进一下重新爬下豆瓣读书.Python 版本是 3.7. 1.爬取信息 ...
- python爬取豆瓣书籍_python 爬取豆瓣书籍信息
继爬取 猫眼电影TOP100榜单 之后,再来爬一下豆瓣的书籍信息(主要是书的信息,评分及占比,评论并未爬取).原创,转载请联系我. 需求:爬取豆瓣某类型标签下的所有书籍的详细信息及评分 语言:pyth ...
- Python——爬取目标豆瓣图书TOP250
目标网址:https://book.douban.com/top250?start=0 参考资料: Requests: http://docs.python-request ...
- python爬关键词百度指数_Python 抓取指定关键词的百度指数
百度指数很多时候在我们做项目的时候会很有帮助,从搜索引擎的流量端给到我们一些帮助,比如:家具行业的销量跟"装修","新房","二手房"等关键 ...
- python微信小程序爬虫_Python爬取微信小程序实战(通用)
背景介绍 最近遇到一个需求,大致就是要获取某个小程序上的数据.心想小程序本质上就是移动端加壳的浏览器,所以想到用Python去获取数据.在网上学习了一下如何实现后,记录一下我的实现过程以及所踩过的小坑 ...
- python 豆瓣评论数据分析_Python数据可视化分析--豆瓣电影Top250
Python数据分析–豆瓣电影Top250 利用Python爬取豆瓣电影TOP250并进行数据分析,对于众多爬虫爱好者,应该并不陌生.很多人都会以此作为第一个练手的小项目.当然这也多亏了豆瓣的包容,没 ...
- python爬豆瓣top250书籍_python爬虫练习-爬取豆瓣图书top250
个人自学,完整学习请访问以下链接 学习链接:https://study.163.com/course/courseMain.htm?courseId=1004714034 代码 # -*-coding ...
- python爬取豆瓣电影评论_python 爬取豆瓣电影评论,并进行词云展示及出现的问题解决办法...
def getHtml(url): """获取url页面""" headers = {'User-Agent':'Mozilla/5.0 ( ...
- python爬取京东书籍_Python爬取当当、京东、亚马逊图书信息代码实例
注:1.本程序采用MSSQLserver数据库存储,请运行程序前手动修改程序开头处的数据库链接信息 2.需要bs4.requests.pymssql库支持 3.支持多线程 from bs4 impor ...
最新文章
- 5G和AI机器人平台
- 墨刀未能成功读取服务器数据,墨刀的使用
- java 8 lambda表达式
- switch( )的经典引用
- 【软考-软件设计师】CPU的功能
- spring和ejb2.x集成共享applicationContext.xml的问题
- 洛谷 - P1217 [USACO1.5]回文质数 Prime Palindromes(欧拉线性筛+数论小知识)
- Sphinx+Scws 搭建千万级准实时搜索应用场景详解
- matlab中如何做连乘循环,如何利用for循环实现矩阵连乘
- 20210801:AXI-Lite总线逻辑与关键源码分析
- 成都女学霸高考 692 分想当“程序媛”,网友:快劝劝孩子
- 关于空间分析的一点小思考
- rtx2060什么水平_不出预料+不负众望,NVIDIA RTX2060显卡获得2019我最喜欢称号
- bug:刷机卡Logo界面,adb shell 报- exec '/system/bin/sh' failed: No such file or directory (2) -
- js打开新窗口并且POST传入参数
- mysql聚合函数匹配_MySQL 05章_模糊查询和聚合函数
- 【JIS-CTF靶场搭建及解题思路】
- android chrome无法运行,Android 测试 Chrome 浏览器能正常启动 Chrome 浏览器,但是不能进行操作,求大神!!...
- 数据结构—栈和队列经典面试题
- MYSQL操作+C语言API