Python爬取起点中文网月票榜前500名网络小说介绍
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Python爬取起点中文网月票榜前500名网络小说介绍,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2255字,纯文字阅读大概需要4分钟。
内容图文
![Python爬取起点中文网月票榜前500名网络小说介绍](/upload/InfoBanner/zyjiaocheng/719/7a0a781b1eda47d799fef14fdeb43648.jpg)
观察网页结构
进入起点原创风云榜:http://r.qidian.com/yuepiao?chn=-1
老套路,懂我的人都知道我要看看有多少内容和页数需要爬。
https://ask.hellobi.com/uploads/article/20170408/0b0192094e6d073f9a16bc3211e7e904.png
编写爬虫
import requests
from bs4 import BeautifulSoup
res=requests.get('http://r.qidian.com/yuepiao?chn=-1&page=1')
#print(res)#中间打印看看,好习惯
soup=BeautifulSoup(res.text,'html.parser')#
筛选器
#print(soup)
for news in soup.select('.rank-view-list li'):#定位
print(news)
结果如下:
注意这些标签(因为美丽汤提取是基于标签的)
经过测试
for news in soup.select('.rank-view-list li'):#Wrap后面一定有个空格,因为网页里有
#print(news)
print(news.select('a')[1].text,news.select('a')[2].text,news.select('a')[3].text,news.select('p')[1].text,news.select('p')[2].text,news.select('a')[0]['href'])
可以设置提取内容如上面代码所示
提取结果是:
很乱,把内容存成字典格式再存放到列表中:
for news in soup.select('.rank-view-list li'):#Wrap后面一定有个空格,因为网页里有
#print(news)
#print(news.select('a')[1].text,news.select('a')[2].text,news.select('a')[3].text,news.select('p')[1].text,news.select('p')[2].text,news.select('a')[0]['href'])
newsary.append({'title':news.select('a')[1].text,'name':news.select('a')[2].text,'style':news.select('a')[3].text,'describe':news.select('p')[2].text,'url':news.select('a')[0]['href']})
使用pandas的DataFrame格式存放
使用循环爬取25页内容
import requests
from bs4 import BeautifulSoup
newsary=[]
for i in range(25):
res=requests.get('http://r.qidian.com/yuepiao?chn=-1&page='+str(i))
#print(res)
soup=BeautifulSoup(res.text,'html.parser')
#print(soup)
#for news in soup.select('.rank-view-list h4'):#Wrap后面一定有个空格,因为网页里有
for news in soup.select('.rank-view-list li'):#Wrap后面一定有个空格,因为网页里有
#print(news)
#print(news.select('a')[1].text,news.select('a')[2].text,news.select('a')[3].text,news.select('p')[1].text,news.select('p')[2].text,news.select('a')[0]['href'])
newsary.append({'title':news.select('a')[1].text,'name':news.select('a')[2].text,'style':news.select('a')[3].text,'describe':news.select('p')[1].text,'lastest':news.select('p')[2].text,'url':news.select('a')[0]['href']})
import pandas
newsdf=pandas.DataFrame(newsary)
newsdf
内容总结
以上是互联网集市为您收集整理的Python爬取起点中文网月票榜前500名网络小说介绍全部内容,希望文章能够帮你解决Python爬取起点中文网月票榜前500名网络小说介绍所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。