Python网络爬虫实战练习:爬取豆瓣图书信息
一、注意事项
1、文件名尽量使用英文,避免出现编码问题
2、含中文的文件写入,注意标注编码,如:
with open(r"C:\Users\10335\Desktop\response.txt", 'w', encoding = "utf-8") as f:f.write(html)f.close()
3、若长时间得不到输出,考虑正则表达式的构造是否捕捉效率不高
二、代码实现
import requests
import re
import timeclass Book():# 书籍类def __init__(self, title="NULL", href="NULL", author="NULL", year="NULL", publisher="NULL", abstract="NULL"):self.title = titleself.href = hrefself.author = authorself.year = yearself.publisher = publisherself.abstract = abstractdef get_info(self):# 格式化输出至文件content = "Title:" + self.title + " Author:" + self.author + "\nPublisher:" + self.publisher + " Year:" + self.year + "\nAbstract:\n" + self.abstract + "\nLink:" + self.href + "\n_________________________\n"with open(r"C:\Users\10335\Desktop\doubanbook.txt", 'a', encoding = "utf-8") as f:f.write(content)f.close()header = {"user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.106 Safari/537.36"}
html = requests.get("https://book.douban.com/", headers=header).text
with open(r"C:\Users\10335\Desktop\response.txt", 'w', encoding = "utf-8") as f:#将响应保存为文件,以分析匹配效果f.write(html)f.close()
books = []
pattern = re.compile('<div class="title">.*?href="(.*?)"\s*title="(.*?)".*?<div class="author">\s*(.*?)\s*?</div>\s.*?"year">\s*(.*?)\s.*?publisher">\s*(.*?)\s.*?abstract">\s*(.*?)\s</p>',re.S)
start = time.perf_counter()
results = pattern.findall(html)
end = time.perf_counter()
for result in results:books.append(Book(href=result[0], title=result[1], author=result[2], year=result[3],publisher=result[4], abstract=result[5]))
for book in books:book.get_info()
print("Running time:", (end - start), "seconds")# 输出运行时间
三、部分输出截取:
Title:不管狗和茶炊怎么闹腾 Author:王这么
Publisher:人民文学出版社 Year:2020-1
Abstract:
⭐一本点亮平庸日常的生活之书
⭐讲述平淡中的光怪陆离和嘈杂中的诗意
⭐不管狗和茶炊怎么闹腾,生活就在那里
⭐努力地将日子过下去,就是我们的坎坷征途与星辰大海
——————————————————————————————————————
契诃夫说:“不管狗和茶炊怎么闹腾,夏天过后还会有冬天,青春过后还会有衰老,幸福后面跟着不幸,或者是相反。不管这多么...Link:https://book.douban.com/subject/34954089/?icn=index-latestbook-subject
_________________________
Title:女生徒 Author:[日]太宰治
Publisher:天津人民出版社 Year:2020-1
Abstract:
太宰治"女性独白体“短篇小说集
野间文艺翻译奖得主 陆求实全新译本
——————————————————————————
本书选取太宰治作品中以女性第一人称视角叙述的10 篇作品,以其中的名篇《女生徒》为书名,并对照各个故事中女性的人生轨迹——少年、青年、壮年、老年追忆少年时光,对各篇顺序做出梳理。
——————————————————————————
...Link:https://book.douban.com/subject/34924767/?icn=index-latestbook-subject
_________________________
Title:东京百景 Author:[日] 又吉直树
Publisher:上海译文出版社 Year:2020-3
Abstract:
史上最畅销的芥川奖获奖者又吉直树的随笔集——写给东京的一封情书,但永远得不到它的回眸
豆瓣9.3分日剧《火花》的创作原点,又吉直树的另类个人传记
以东京为背景,直指正在大城市打拼的现代年轻人的生活和内心
在幻想与现实的交错之间,发现东京的残酷与温柔
“我期望,这个世界不要欺骗年轻人。别把他们当食物吞掉。”
内容简介:
《东京百景》由100篇小短文串联而成...Link:https://book.douban.com/subject/34900487/?icn=index-latestbook-subject
_________________________
Title:好学校 Author:[美] 理查德·耶茨
Publisher:上海译文出版社 Year:2020-2
Abstract:
美国寄宿男校的一段伤心往事 耶茨最温柔的一部小说
-
书名中的“好学校”是一所虚构的康涅狄格州预备中学。故事发生在上个世纪四十年代初期,“好学校”中的男孩毕业后就要立刻参军作战,老师们对于自身职业和所在学校的情感五味杂陈。尽管这是一所学校,可正如书中一名老师所说,这里“蕴藏了巨大的潜在能量”,学生如此,老师亦如此。从某种程度上,本书延续了《革命...Link:https://book.douban.com/subject/34888772/?icn=index-latestbook-subject
_________________________
Title:周作人集外文 Author:周作人 著 / 陈子善, 赵国忠 编
Publisher:上海人民出版社 Year:2020-1
Abstract:
☆全新《周作人集外文》,搜集更为完备、考订更为准确
☆收入近年来新发现的周作人佚文,增补文章百余篇
☆填补研究资料之缺漏,展现更为丰富立体的周作人形象
·
新版《周作人集外文》共两卷,本书为上卷,收入1904年至1945年的集外文,包括散文、旧诗、新诗,以及为自己或他人的文章、译文所写的题记、附记、按语等未曾收入自编文集的作品。
相较于之前版本,新版《周...Link:https://book.douban.com/subject/30212806/?icn=index-latestbook-subject
_________________________
Python网络爬虫实战练习:爬取豆瓣图书信息相关推荐
- [day4]python网络爬虫实战:爬取美女写真图片(Scrapy版)
l> 我的新书<Android App开发入门与实战>已于2020年8月由人民邮电出版社出版,欢迎购买.点击进入详情 文章目录 1.开发环境 2.第三方库 3.Scrapy简介 4. ...
- [day1]python网络爬虫实战:爬取美女写真图片
l> 我的新书<Android App开发入门与实战>已于2020年8月由人民邮电出版社出版,欢迎购买.点击进入详情 文章目录 1.开发环境 2.第三方库 3.实现 1.分析url格 ...
- [day2]python网络爬虫实战:爬取美女写真图片(增强版)
l> 我的新书<Android App开发入门与实战>已于2020年8月由人民邮电出版社出版,欢迎购买.点击进入详情 文章目录 1.开发环境 2.第三方库 3.实现 1.分析url格 ...
- Python 网络爬虫实战:爬取知乎回答中的全部图片
平时逛知乎的时候,经常能看到很多很棒的图片,精美的壁纸,搞笑的表情包,有趣的截图等等,总有想全部保存下来的冲动. 于是在一个小老弟的拜托之下,我把之前的知乎爬虫改造了一下,改装成了一个可以下载知乎回答 ...
- Python 网络爬虫实战:爬取《去哪儿》网数千篇旅游攻略数据,再也不愁旅游去哪儿玩了
好久不见! 今天我们来爬取 去哪儿网站 的 旅游攻略 数据. 0x00 找一个合理的作案动机 作为一名立志成为技术宅的普通肥宅,每次一到周末就会面临一个人生难题:这周末怎么过? 本来是没有这些问题的 ...
- Python网络爬虫实战:爬取携程网酒店评价信息
这个爬虫是在一个小老弟的委托之下写的. 他需要爬取携程网上的酒店的评价数据,来做一些分词和统计方面的分析,然后来找我帮忙. 爬这个网站的时候也遇到了一些有意思的小麻烦,正好整理一下拿出来跟大家分享一下 ...
- Python 网络爬虫实战:爬取 B站《全职高手》20万条评论数据
本周我们的目标是:B站(哔哩哔哩弹幕网 https://www.bilibili.com )视频评论数据. 我们都知道,B站有很多号称"镇站之宝"的视频,拥有着数量极其恐怖的评论和 ...
- Python网络爬虫实战之爬取小说
一.目标 1- 爬取一个章节的小说 2- 爬取整一本小说 二.爬取单章节的小说 2.1 数据准备 这里在网上随意搜了一个网站,其链接如下: https://www.biqukan.com/1_1408 ...
- Python爬虫实战(1) | 爬取豆瓣网排名前250的电影(下)
在Python爬虫实战(1) | 爬取豆瓣网排名前250的电影(上)中,我们最后爬出来的结果不是很完美,这对于"精益求精.追求完美的"程序猿来说怎么能够甘心 所以,今天,用pyth ...
- Python爬虫入门(爬取豆瓣电影信息小结)
Python爬虫入门(爬取豆瓣电影信息小结) 1.爬虫概念 网络爬虫,是一种按照一定规则,自动抓取互联网信息的程序或脚本.爬虫的本质是模拟浏览器打开网页,获取网页中我们想要的那部分数据. 2.基本流程 ...
最新文章
- 关于Enterprise Library 两个网占.
- 浅谈三层架构中的实体类(C#)
- 008_表内容的插入删除修改
- 高中计算机应用基础试讲,试讲计算机应用基础.ppt
- ssh客户端_一款基于TAS框架的SSH客户端蠕虫
- 计算机入门 姚班,清华“姚班”:学霸中的尖子生,大佬毕业后都去哪了?
- 字符串使用与内部实现原理
- 随机森林的原理及Python代码实现
- 201709-1-打酱油
- 028_adblock
- SBI集团“逆市”入股玖富,背后意味着什么?|一点财经
- 基于单片机的电子万年历的设计
- 切比雪夫不等式例题讲解_数学广角:切比雪夫最佳逼近直线
- python 小数点位数_python小数位数
- 剑客vs刀客 Java vs .NET
- 售后单导出(抖音、快手)
- Python 调用谷歌翻译(2021年3月测试可用)
- 把表的竖向列变为横向一字段值(或 竖向变横向)
- Deepin wine QQ 安装
- 漂亮的系统后台UI 欣赏