Python爬虫-爬取豆瓣读书
爬点什么好呢?最近老是浏览豆瓣上的帖子,那就爬取下豆瓣读书吧!
网络请求,返回值是html页面。
需要对返回回来的结果进行解析。使用Beautiful Soup来解析
参见(http://beautifulsoup.readthedocs.io/zh_CN/latest/)
说几个再爬虫中使用到的:
(1)find_all(tag,attributes,recursive,text,limit,keywords)
这个方法一般会大量使用,查找文档中含有该tag标签的所有信息
bsObj.find_all("li",{"class":""})
就是查找文档中所有的li标签,并且该标签的class属性为“”
(2)获取某个标签属性的值,可以使用tag.get(“属性名称”)
a.get("href")
(3)获取标签中的文本,可以使用get_text() 方法
如以下这种:
<span class="publisher">理想国 | 广西师范大学出版社</span>
可以使用
span.get_text()
还有其他的父节点获取,子节点获取等等很多,参见文档获取详细用法。
上图:
我先拿到li标签下的信息,因为我只获取自己感兴趣的信息,所以创建列表,再分别获取div,h4,span标签下的信息,赋值。最后将其插入mongodb。
from urllib.request import urlopen,HTTPError
from bs4 import BeautifulSoup
import pymongo
import timeclient = pymongo.MongoClient('localhost', 27017) # 连接mongodb,端口27017
#db=client.myinfo
test = client['test'] # 创建数据库文件test
reptiledouban = test['reptiledouban'] # 创建表forecast
html=urlopen("https://book.douban.com/")
bsObj=BeautifulSoup(html,"html.parser")
dict={}
keys = ["_id","封面链接", "购买链接", "主题", "作者", "出版日期", "出版社"]
count=1
for link in bsObj.find_all("li",{"class":""}):for linkFirst in link.find_all("div",{"class":"cover"}):dict["封面链接"]=(linkFirst.a.get("href"))for linksecond in link.find_all("div", {"class": "intervenor-info"}):dict["购买链接"] = (linksecond.img.get("src"))for linkThird in link.find_all("div", {"class": "more-meta"}):dict["主题"] = (linkThird.h4.get_text())for linkFourth in link.find_all("div", {"class": "author"}):dict["作者"] = (linkFourth.get_text())for linkFive in link.find_all("span", {"class": "year"}):dict["出版日期"] = (linkFive.get_text())for linkSix in link.find_all("span", {"class": "publisher"}):dict["出版社"] = (linkSix.get_text())if dict:dict["_id"] = countreptiledouban.insert_one(dict) #插入mongodb数据库time.sleep(1) # 线程推迟1s执行count = count + 1
最后mongdb 中的结果如下:
问题总结:
(1)mongdb中插入数据库,按照默认的“_id”字段,主键插入重复,所以我重新自定义了主键,每次自增一,解决重复问题。
(2)我现在爬取出来的数据其中有重复数据,还不知道这是怎么回事?待解
Python爬虫-爬取豆瓣读书相关推荐
- python爬虫爬取豆瓣读书Top250
python爬虫爬取豆瓣读书Top250 话不多说,直接上代码! from urllib.request import urlopen, Request from bs4 import Beautif ...
- Python爬虫 爬取豆瓣读书
最近用Python写了个豆瓣读书的爬虫玩,方便搜罗各种美美书,分享给大家 实现功能: 1 可以爬下豆瓣读书标签下的所有图书 2 按评分排名依次存储 3 存储到Excel中,可方便大家筛选搜罗,比如筛选 ...
- python爬虫爬取豆瓣读书
python的课程设计,我爬取的是豆瓣的图书 设计题目: 豆瓣读书的Python爬虫 一.需求分析 由于豆瓣上的图书良莠不齐,很难一下选择适合我们的图书,所以我想通过Python的爬虫程序,实现对豆 ...
- Python爬虫 - 爬取豆瓣读书TOP250电子书
1.爬取思路 访问豆瓣读书top250,并提取书籍名称. 把提取的书籍名称,放到搜书网站(本文使用的是熊猫搜书). 把搜索的结果保存到本地.(底部有保存的文本文件,需要自提) 2.重点解析 1.豆瓣翻 ...
- 利用python爬虫爬取豆瓣读书-文学-名著的封面
获取至少两个页面的豆瓣读书-文学-名著的图书封面图片,将图片存到文件夹. 具体代码如下: #dubanimage.py import requests from bs4 import Beautifu ...
- Python爬虫 爬取豆瓣电影TOP250
Python爬虫 爬取豆瓣电影TOP250 最近在b站上学习了一下python的爬虫,实践爬取豆瓣的电影top250,现在对这两天的学习进行一下总结 主要分为三步: 爬取豆瓣top250的网页,并通过 ...
- python爬虫爬取豆瓣电影排行榜并通过pandas保存到Excel文件当中
我们的需求是利用python爬虫爬取豆瓣电影排行榜数据,并将数据通过pandas保存到Excel文件当中(步骤详细) 我们用到的第三方库如下所示: import requests import pan ...
- Python爬虫爬取豆瓣电影评论内容,评论时间和评论人
Python爬虫爬取豆瓣电影评论内容,评论时间和评论人 我们可以看到影评比较长,需要展开才能完整显示.但是在网页源码中是没有显示完整影评的.所以我们考虑到这部分应该是异步加载的方式显示.所以打开网页的 ...
- 基于Python,爬取豆瓣读书源码
记得上次分享了一个抓取豆瓣妹子美女图片的脚本,今天给大家分享一个爬取豆瓣读书的源码,也算是做个记录吧,目前已经在学习编程的路上,以后要是想写什么爬虫也可以参考参考自己收藏的一些代码,嗯,虽然我还是个代 ...
最新文章
- 零基础Java学习之final关键字
- iOS 11开发教程(二)编写第一个iOS 11应用
- Spring Cloud Zuul中使用Swagger汇总API接口文档
- 安装iis 配置iis
- 用再生龙Clonezilla 来克隆Linux系统!!
- 转帖:ESB(Enterprise Service Bus)
- undo log mysql_MySQL的redo log与undo log
- win10禁用计算机维护,win10哪些服务可以禁用 服务哪些可以禁止启动
- Autofac 依赖注入框架 使用
- 金狮加密视频播放器破解翻录限制转换为mp4工具使用教程
- android epson wifi,epson投影仪无线投屏怎么连接手机、电脑
- 高德地图 根据经纬度获取地理位置信息
- 苹果手机上网速度慢_人群中手机网速不好,怎么办?
- dnf超时空漩涡副本路线流程图_dnf怎么打超时空漩涡 dnf超时空漩涡打法攻略
- Spring boot再来一遍
- 为什么要选择双线虚拟主机?
- response.buffer用法
- 田野调查手记·浮山摩崖石刻(八)
- 基于51单片机的水族箱温度水质监测智能宠物金鱼喂食器补氧换水proteus仿真原理图
- 扶持初创企业成长 佳能再度携手优客工场升级轻松办公新体验