时间:2021-05-23
可以发现在div class ="one_entity"中存在页面中分别对应每一个问题
接着div class ="news_item"中h2标签下是我们想要拿到的数据
首先导入requests和BeautifulSoup
import requestsfrom bs4 import BeautifulSoup由于很多网站定义了反爬策略,所以进行伪装一下
headers = { 'User-Agent': 'Mozilla / 5.0(WindowsNT10.0;Win64;x64) AppleWebKit / 537.36(KHTML, likeGecko) Chrome / 87.0.4280.141Safari / 537.36' }在这里User-Agent只是其中的一种方式,而且大家的User-Agent可能不同。
爬取数据main代码
url = 'https://q.cnblogs.com/list/unsolved?' fp = open('blog', 'w', encoding='utf-8') for page in range(1,26): page = str(page) param = { 'page':page } page_text = requests.get(url=url,params=param,headers=headers).text page_soup = BeautifulSoup(page_text,'lxml') text_list = page_soup.select('.one_entity > .news_item > h2') for h2 in text_list: text = h2.a.string fp.write(text+'\n') print('第'+page+'页爬取成功!')注意一下这里,由于我们需要的是多张页面的数据,所以在发送请求的url中我们就要针对不同的页面发送请求,https://q.cnblogs.com/list/unsolved?page=我们要做的是在发送请求的url时候,根据参数来填充页数page,
代码实现:
将所有的h2数组拿到,进行遍历,通过取出h2中a标签中的文本,并将每取出来的文本写入到文件中,由于要遍历多次,所以保存文件在上面的代码中。
text_list = page_soup.select('.one_entity > .news_item > h2') for h2 in text_list: text = h2.a.string fp.write(text+'\n')完整代码如下:
import requestsfrom bs4 import BeautifulSoupif __name__ == '__main__': headers = { 'User-Agent': 'Mozilla / 5.0(WindowsNT10.0;Win64;x64) AppleWebKit / 537.36(KHTML, likeGecko) Chrome / 87.0.4280.141Safari / 537.36' } url = 'https://q.cnblogs.com/list/unsolved?' fp = open('blog', 'w', encoding='utf-8') for page in range(1,26): page = str(page) param = { 'page':page } page_text = requests.get(url=url,params=param,headers=headers).text page_soup = BeautifulSoup(page_text,'lxml') text_list = page_soup.select('.one_entity > .news_item > h2') for h2 in text_list: text = h2.a.string fp.write(text+'\n') print('第'+page+'页爬取成功!')运行代码:
到此这篇关于详解Python爬虫爬取博客园问题列表所有的问题的文章就介绍到这了,更多相关Python爬虫爬取列表内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
上周写了一个node+experss的爬虫小入门。今天继续来学习一下,写一个爬虫2.0版本。这次我们不再爬博客园了,咋玩点新的,爬爬电影天堂。因为每个周末都会在
利用go语言的协程并发优势爬取网页速度相当之快,博客园100页新闻标题只需一秒即可全部爬取packagemainimport("bytes""fmt""gith
收集所有外部链接的网站爬虫程序流程图下例是爬取本站python绘制条形图方法代码详解的实例,大家可以参考下。完整代码:#!/usr/bin/envpython#
python爬虫遇到爬取文件内容时,需要一页页的翻页爬取,这样很是麻烦,其实可以获取每个列表信息下的文件名和文件链接,让文件名和文件链接处理为列表,保存后下载,
python爬虫是程序员们一定会掌握的知识,练习python爬虫时,很多人会选择爬取微博练手。python爬虫微博根据微博存在于不同媒介上,所爬取的难度有差异,