龙空技术网

python(二)爬取豆瓣图书

网上搬砖头z 307

前言:

此刻咱们对“python爬取豆瓣小说”大约比较重视,看官们都需要知道一些“python爬取豆瓣小说”的相关内容。那么小编也在网上收集了一些关于“python爬取豆瓣小说””的相关资讯,希望兄弟们能喜欢,朋友们一起来了解一下吧!

刚刚接触python两天,发现python果然是一把瑞士军刀。

人生苦短,我用Python

由于黑窗口的极大不便利,我安装了pycharm这个IDE

当然用什么,个人随便。用它只是因为搞JAVA我用过这个公司的另一款产品IDEA。

快捷键和界面相似度99%

废话不多说

配置一下python库

如果你配置正确了,那么和python自带的库都会显示在这里面。

如果没有配置正确的路径,那么安装的第三方库是无法使用的。

好了,开始撸代码了。这里以爬取豆瓣图书这个网页为例

头条不允许外链接每段代码最上面加一行这个吧

一,我们使用requests库,结合自带的正则直接爬取

import requestsimport re# 使用正则解析网页def doubanWithRe(): res=requests.get(url) html=res.text # 使用非贪婪模式去匹配字符 result=re.findall('<div class="cover">.*?<a href="(.*?)" title="(.*?)">',html,re.S) for book in list(enumerate(result, start=1)): # 打印出带序号的,从1开始的序列 print(book[0],book[1][0],book[1][1]) passdoubanWithRe()

二、我们可以使用beautifulSoup库

from bs4 import BeautifulSoup# 使用beautifulSoup解析网页def doubanWithBeautifulSoup(): res=requests.get(url) html=res.text soup=BeautifulSoup(html,"lxml") cover=soup.select(".slide-list .cover a") # print(cover) for i,cov in enumerate(cover,start=1): print(i,cov.get("href"),cov.get('title')) passdoubanWithBeautifulSoup()

三、用PyQuery ,使用过jQuery的同学就用这个吧,极其方便

from pyquery import PyQuery as pq# 使用pyquery解析网页def doubanWithPyQuery(): soup = pq(url) cover = soup.find(".slide-list .cover a") for i, cov in enumerate(cover, start=1): print(i, cov.get("href"), cov.get('title')) passdoubanWithPyQuery()

三种方式爬取的结果是一样的:

爬取结果为;

编码过程中遇到的警告或者错误:

标签: #python爬取豆瓣小说