目标网址: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相关推荐

  1. python爬取豆瓣书籍_Python 爬取豆瓣读书标签下的书籍

    这几天想爬下豆瓣读书时发现 github 上他人分享的源码都有一定年份了,豆瓣读书的页面貌似也稍微改了,于是就在前人轮子的基础上改进一下重新爬下豆瓣读书.Python 版本是 3.7. 1.爬取信息 ...

  2. python爬取豆瓣书籍_python 爬取豆瓣书籍信息

    继爬取 猫眼电影TOP100榜单 之后,再来爬一下豆瓣的书籍信息(主要是书的信息,评分及占比,评论并未爬取).原创,转载请联系我. 需求:爬取豆瓣某类型标签下的所有书籍的详细信息及评分 语言:pyth ...

  3. Python——爬取目标豆瓣图书TOP250

    目标网址:https://book.douban.com/top250?start=0 参考资料: Requests:               http://docs.python-request ...

  4. python爬关键词百度指数_Python 抓取指定关键词的百度指数

    百度指数很多时候在我们做项目的时候会很有帮助,从搜索引擎的流量端给到我们一些帮助,比如:家具行业的销量跟"装修","新房","二手房"等关键 ...

  5. python微信小程序爬虫_Python爬取微信小程序实战(通用)

    背景介绍 最近遇到一个需求,大致就是要获取某个小程序上的数据.心想小程序本质上就是移动端加壳的浏览器,所以想到用Python去获取数据.在网上学习了一下如何实现后,记录一下我的实现过程以及所踩过的小坑 ...

  6. python 豆瓣评论数据分析_Python数据可视化分析--豆瓣电影Top250

    Python数据分析–豆瓣电影Top250 利用Python爬取豆瓣电影TOP250并进行数据分析,对于众多爬虫爱好者,应该并不陌生.很多人都会以此作为第一个练手的小项目.当然这也多亏了豆瓣的包容,没 ...

  7. python爬豆瓣top250书籍_python爬虫练习-爬取豆瓣图书top250

    个人自学,完整学习请访问以下链接 学习链接:https://study.163.com/course/courseMain.htm?courseId=1004714034 代码 # -*-coding ...

  8. python爬取豆瓣电影评论_python 爬取豆瓣电影评论,并进行词云展示及出现的问题解决办法...

    def getHtml(url): """获取url页面""" headers = {'User-Agent':'Mozilla/5.0 ( ...

  9. python爬取京东书籍_Python爬取当当、京东、亚马逊图书信息代码实例

    注:1.本程序采用MSSQLserver数据库存储,请运行程序前手动修改程序开头处的数据库链接信息 2.需要bs4.requests.pymssql库支持 3.支持多线程 from bs4 impor ...

最新文章

  1. 5G和AI机器人平台
  2. 墨刀未能成功读取服务器数据,墨刀的使用
  3. java 8 lambda表达式
  4. switch( )的经典引用
  5. 【软考-软件设计师】CPU的功能
  6. spring和ejb2.x集成共享applicationContext.xml的问题
  7. 洛谷 - P1217 [USACO1.5]回文质数 Prime Palindromes(欧拉线性筛+数论小知识)
  8. Sphinx+Scws 搭建千万级准实时搜索应用场景详解
  9. matlab中如何做连乘循环,如何利用for循环实现矩阵连乘
  10. 20210801:AXI-Lite总线逻辑与关键源码分析
  11. 成都女学霸高考 692 分想当“程序媛”,网友:快劝劝孩子
  12. 关于空间分析的一点小思考
  13. rtx2060什么水平_不出预料+不负众望,NVIDIA RTX2060显卡获得2019我最喜欢称号
  14. bug:刷机卡Logo界面,adb shell 报- exec '/system/bin/sh' failed: No such file or directory (2) -
  15. js打开新窗口并且POST传入参数
  16. mysql聚合函数匹配_MySQL 05章_模糊查询和聚合函数
  17. 【JIS-CTF靶场搭建及解题思路】
  18. android chrome无法运行,Android 测试 Chrome 浏览器能正常启动 Chrome 浏览器,但是不能进行操作,求大神!!...
  19. 数据结构—栈和队列经典面试题
  20. MYSQL操作+C语言API

热门文章

  1. 【设计模式_青春版】创建型|原型模式
  2. 小电流选线装置的研制之
  3. 软件RAID与硬件RAID的区别
  4. 论文写作课堂总结4:学术论文写作中的语法问题
  5. [Arduino] 基于Xbee Pro和网络技术的智能公交系统设计
  6. MOTO X的截屏快捷键 -》只要按住 电源键+音量减小健 就可以了
  7. 熊掌:SEO从站点到数字的转变
  8. 如何获取别人APP中的图片资源
  9. CentOS7.9安装部署superset
  10. 场景采集感知测评软件 INTEWORK-ARS