利用CSS选择器爬取豆瓣上的图书
利用CSS选择器爬取豆瓣上的图书
主要技术:熟练掌握requests、BeautifulSoup
爬取图书链接 "https://book.douban.com/latest?icn=index-latestbook-all"
代码块
import requests
from bs4 import BeautifulSoupdef get_film(url):headers = {'User-Agent': 'Mozilla/5.0'} #防止反爬虫try:r=requests.get(url,headers=headers)r.raise_for_status()r.encoding=r.status_codereturn r.textexcept:return "爬取失败!"def parse_html(html,List):film_name1=[]film_actor1=[]film_actor2=[]soup=BeautifulSoup(html,'html.parser')for name in soup.select(' .detail-frame h2 a'): #利用BeautifulSoup中的CSS选择器film_name1.append(name.get_text())for actor in soup.select(' p.color-gray'):film_actor1.append(actor.get_text())for i in film_actor1: #消除文本中的空格和换行字符a=i.replace(' ','')b=a.replace('\n','')film_actor2.append(b)for i in range(len(film_name1)):List.append([film_name1[i],film_actor2[i]])def PrintList(List):tplt = '{0:{2}<20}\t{1:{2}<50}'print(tplt.format("电影",'主演、出版社、时间',chr(12288))) #chr(12288)字符不够所设置的宽度,采用中文字符填充for item in List:print(tplt.format(item[0], item[1],chr(12288)))def write_to_file(List):#存取文件,如果不设置路径,自动存储在代码所在的文件夹下with open('result.xls','w',encoding='utf-8') as f:for i in range(len(List)):for j in range(len(List[i])):f.write(str(List[i][j]))f.write('\t')f.write('\n')def main():List=[]url="https://book.douban.com/latest?icn=index-latestbook-all"html=get_film(url)parse_html(html,List)PrintList(List)write_to_file(List)main()
爬取结果:
电影 主演、出版社、时间
火鸟 [日]手冢治虫/后浪丨北京联合出版公司/2018-10
隐剑孤影抄 [日]藤泽周平/译林出版社/2018-8
犹太警察工会 [美]迈克尔·夏邦/中信出版社/2018-8
坚果壳 [英]伊恩·麦克尤恩/上海译文出版社/2018-8
春天 阿乙/四川文艺出版社/2018-8-1
崖山 吕玻/后浪丨文化发展出版社/2018-10
华龙之宫 [日]上田早夕里/化学工业出版社/2018-8-1
推理作家的信条 王稼骏/新星出版社/2018-8
方岛 金宇澄/上海人民出版社/2018-8
亲爱的陌生人 [法]卡米耶·茹尔迪/北京联合出版公司/2018-8-1
花街往事 路内/人民文学出版社/2018-8-1
斜眼狗 [法]艾蒂安·达沃多/后浪丨北京联合出版公司/2018-10
天使之触 [英]乔纳森·莫里斯/新星出版社/2018-8
大问题 [美]安德斯·尼尔森/后浪丨北京联合出版公司/2018-10
罐头厂街 [美]约翰·斯坦贝克/人民文学出版社/2018-8
软刺 [美]艾米丽•福里德伦德/四川文艺出版社/2018-9
我们这一代 李昆武编绘/后浪丨湖南美术出版社/2018-10
黑地之绘 [日]松本清张/人民文学出版社/2018-8
寻找邓巴 [英]爱德华·圣奥宾/未读·文艺家·北京联合出版公司/2018-9
水獭先生的新邻居 李星明/连环画出版社/2018-8
我每天只工作3小时 [日]押井守/后浪丨四川人民出版社/2018-10
宋徽宗 [美]伊沛霞/理想国|广西师范大学出版社/2018-8
料理图鉴 [日]越智登代子著/平野惠理子绘/后浪丨湖南美术出版社/2018-9
两个世界的战争 [美]安东尼·帕戈登(AnthonyPagden)/民主与建设出版社/2018-9
左道 [美]万志英(RichardvonGlahn)/社会科学文献出版社/2018-8
印度佛教史 [日]平川彰/后浪丨北京联合出版公司/2018-9
明年更年轻:运动赋能篇 [美]克里斯·克劳利/亨利·洛奇/后浪丨北京联合出版公司/2018-9
空王冠 [英]丹·琼斯(DanJones)/社会科学文献出版社/2018-8
未完的明治维新 [日]坂野润治/社会科学文献出版社/2018-9
独自迈向生命的尽头 [奥]让·埃默里/三辉图书/鹭江出版社/2018-8
自我驱动心理学 [美]史蒂文•贝格拉斯/STEVENBERGLAS/后浪丨江西人民出版社/2018-9
精准表达 [日]高田贵久/后浪丨江西人民出版社/2018-8
万物并作 [美]濮德培(PeterC.Perdue)/生活·读书·新知三联书店/2018-8-1
写作这门手艺 [美]约翰·麦克菲/浦睿文化·湖南文艺出版社/2018-9
正午6 正午故事/台海出版社/2018-8
韭菜的自我修养 李笑来/江苏凤凰文艺出版社/2018-9-21
四君主 [英]约翰·朱利叶斯·诺威奇/民主与建设出版社/2018-9
谁此时孤独 [奥]里尔克/华东师范大学出版社/2018-8
海 [德]弗兰克·施茨廷/后浪丨四川人民出版社/2018-8
独抒己见 [美]纳博科夫/上海译文出版社/2018-9-1
利用CSS选择器爬取豆瓣上的图书相关推荐
- 零基础学Python-爬虫-3、利用CSS选择器爬取整篇网络小说
本套课程正式进入Python爬虫阶段,具体章节根据实际发布决定,可点击[python爬虫]分类专栏进行倒序观看: [重点提示:请勿爬取有害他人或国家利益的内容,此课程虽可爬取互联网任意内容,但无任何收 ...
- python爬虫 — 爬取豆瓣最受关注图书榜
一个简单的爬取豆瓣最受关注图书榜的小爬虫,在爬取相关信息后,将结果保存在 mongo 中 整个流程分为以下几步: (1)构造url (2)分析网页 (3)编写程序,提取信息 解析,将分别介绍以上几步 ...
- 爬取豆瓣读书的图书信息和评论信息
最近在做毕业设计,需要收集用户的评分数据做协同过滤算法,同时收集评论数据做情感分析 坑点 豆瓣图书可以没有评分,或者用户评论了但没给评分.而且豆瓣图书的编码方式很无奈呀,热门书籍附近总是冷门书籍,无评 ...
- Python网络爬虫:利用正则表达式方法爬取‘’豆瓣读书‘’中‘’新书速递‘’条目
1.简述:正则表达式是爬虫的方法之一,这里利用Requests库进行爬取,尽管Urllib也能进行爬取,但过程过于繁琐,在了解Urllib的爬取过程后,没有进行实战演练,但在学习了Requests的爬 ...
- python爬取豆瓣书籍_Python利用lxml模块爬取豆瓣读书排行榜的方法与分析
前言 上次使用了BeautifulSoup库爬取电影排行榜,爬取相对来说有点麻烦,爬取的速度也较慢.本次使用的lxml库,我个人是最喜欢的,爬取的语法很简单,爬取速度也快. 本次爬取的豆瓣书籍排行榜的 ...
- 【视频教程】利用Excel轻松爬取网页上的数据
说到从网上抓取数据,大多数人马上想到的就是Python,但是有的时候不用Python也可以搞定.今天给大家分享一篇如何利用Excel抓取网站上我们所需要的多页数据. 如抓取新浪财经股票页面中的2019 ...
- python如何用xpath爬取指定内容_Python利用Xpath选择器爬取京东网商品信息
HTML文件其实就是由一组尖括号构成的标签组织起来的,每一对尖括号形式一个标签,标签之间存在上下关系,形成标签树:XPath 使用路径表达式在 XML 文档中选取节点.节点是通过沿着路径或者 step ...
- python爬取京东商品信息代码_Python利用Xpath选择器爬取京东网商品信息
HTML文件其实就是由一组尖括号构成的标签组织起来的,每一对尖括号形式一个标签,标签之间存在上下关系,形成标签树:XPath 使用路径表达式在 XML 文档中选取节点.节点是通过沿着路径或者 step ...
- 利用selenium尝试爬取豆瓣图书
目录 一.小小课堂 二.selenium+driver初步尝试控制浏览器 三.完整代码 四.运行结果 链接:https://search.douban.com/book/subject_search? ...
最新文章
- Windows Phone7天初学(4):数据绑定
- 在什么时候才会用到fireEvent方法呢?
- enum2str做为queryValue时的问题
- [原创] debian 9.3 搭建Jira+Confluence+Bitbucket项目管理工具(三) -- 安装confluence 6.6.1
- android activity切换动画
- Spring对java模块化支持_Spring项目对JDBC的支持和基本使用
- 在ASP.NET Core中实现一个Token base的身份认证
- wordpress 插件_如何为您的Web应用程序创建WordPress插件
- 「轻松转换」专业的PDF转换Excel软件:PDF to Excel Converter for Mac
- 基于JAVA+SpringBoot+Mybatis+MYSQL的请假与审批系统
- C++面试宝典之STL向量容器
- 大学四年只学java_大学四年废了怎么办,不如来学java
- 用R语言实现数据离散化
- 怎么下载linux历史文件,快速学习Linux-Linux历史
- 【转】所需即所获:像 IDE 一样使用 vim
- houdini大神自诉:为什么我要放弃maya I
- 在华为工作十年的感悟
- 案例分析:从误删除数据库血案看数据库系统的安全设计
- Linux(Debian11)安装百度网盘
- ubuntu php7 pdo,记录捣鼓ubuntu下PHP7.1下安装sqlserver拓展
热门文章
- 用std::string::compare()用法
- MT如何调用C#的dll所产生问题
- 手握大数据互联网对抗传统电影底气足
- html中a href /a的用法
- 后浪小萌新Python --- requests的使用
- weex 选择器 weex picker weex-x-picker
- 解決com.atomikos.icatch.RollbackException: Prepare: NO vote
- BIOS的二十四个解答
- python统计英文首字母出现的次数
- vue nuxt npm 调用百度地图