爬取天涯论坛数据,看看大家都在讨论什么
前言
本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。
在我们浏览网页,浏览器会渲染输出HTML、JS、CSS等信息;通过这些元素,我们就可以看到我们想要查看的新闻,图片,电影,评论,商品等等。一般情况下我们看到自己需要的内容,图片可能会复制文字并且下载图片保存,但是如果面对大量的文字和图片,我们人工是处理不过来的,同时比如类似百度需要每天定时获取大量网站最新文章并且收录,这些大量数据与每天的定时的工作我们是无法通过人工去处理的,这时候爬虫的作用就体现出来了。
内容介绍:
话不多说,直接开始,开始我们的论坛爬虫旅程。
1、模块导入
# encoding:utf8
import requestsfrom bs4 import BeautifulSoup
导入requests网络数据请求模块,用于网络爬虫。导入BeautifulSoup尾页解析模块,用于网页数据处理。
2、获取url资源
def getHtmlList(list, url, main_url):try:soup = getHtmlText(url)managesInfo = soup.find_all('td', attrs={'class': 'td-title faceblue'})for m in range(len(managesInfo)):a = managesInfo[m].find_all('a') #获取帖子的位置for i in a:try:href = i.attrs['href']list.append(main_url + href) #把帖子的url存放在list中except:continueprint(list)except:print("获取网页失败")
获取一个url,通过requests.get()方法,获取页面的信息,这是一个获取url资源的模块。
3、获取子帖列表
def getHtmlList(list, url, main_url):try:soup = getHtmlText(url)managesInfo = soup.find_all('td', attrs={'class': 'td-title faceblue'})for m in range(len(managesInfo)):a = managesInfo[m].find_all('a') #获取帖子的位置for i in a:try:href = i.attrs['href']list.append(main_url + href) #把帖子的url存放在list中except:continueprint(list)except:print("获取网页失败")
获取一个url,调用第一个函数解析财经论坛页面,获取到其中的子帖子的url,存放在list中。这个方法得到了该链接下所有子帖的网络链接,为接下来的数据爬取做准备。子帖列表如下:
4、解析页面
def getHtmlInfo(list, fpath):for i in list:infoDict = {} #初始化存放帖子要获取的全部信息的字典authorInfo = [] #初始化存放帖子评论的作者的信息的列表comment = [] #初始化存放帖子评论的信息的列表try:soup = getHtmlText(i)if soup == "": #如果页面不存在则跳过,继续获取continueInfo = soup.find('span', attrs={'style': 'font-weight:400;'})title = Info.text # 获取帖子的标题infoDict.update({'论坛话题: ': title}) #把帖子的标题内容存放到字典中author = soup.find_all('div', attrs={'class': 'atl-info'})for m in author:authorInfo.append(m.text) #把帖子中的评论的作者的信息存放到列表里author = soup.find_all('div', attrs={'class': 'bbs-content'})for m in author:comment.append(m.text) #把帖子的评论的信息存放在列表里for m in range(len(authorInfo)):key = authorInfo[m] + '\n'value = comment[m] + '\n'infoDict[key] = value # 把评论的作者的信息跟评论的内容以键值对的形式存储起来# 把获取到的信息存放在自己指定的位置with open(fpath, 'a', encoding='utf-8')as f:for m in infoDict:f.write(str(m) + '\n')f.write(str(infoDict[m]) + '\n')except:continue
把list中的url通过for循环一个一个解析页面,获取其中我们想要的内容,然后把得到的内容存放在指定的电脑的位置里。
5、传入参数
def main():main_url = 'http://bbs.tianya.cn'develop_url = 'http://bbs.tianya.cn/list-1109-1.shtml'#develop_url = 'http://bbs.tianya.cn/list-develop-1.shtml'ulist = []fpath = r'E:\tianya.txt'getHtmlList(ulist, develop_url, main_url)getHtmlInfo(ulist, fpath)
main() # 运行main函数
输入爬取的网页名称以及数据保存路径,本文未对爬取的数据进行进一步解析。爬取结果如下,包括主帖的内容已经跟贴的内容。
欢迎点击左上角关注小编,除了分享技术文章之外还有很多福利,私信学习资料可以领取包括不限于Python实战演练、PDF电子文档、面试集锦、学习资料等。
爬取天涯论坛数据,看看大家都在讨论什么相关推荐
- 用Scrapy爬虫框架爬取食品论坛数据并存入数据库
这篇文章主要给大家介绍了食品网站的数据采集和存储过程,详解了如何分析网页结构.爬虫策略.网站类型.层级关系.爬虫方法和数据存储过程,最终实现将帖子的每条评论爬取到数据库中,并且做到可以更新数据,防止重 ...
- python天涯帖子_python 网络爬虫(一)爬取天涯论坛评论
我是一个大二的学生,也是刚接触python,接触了爬虫感觉爬虫很有趣就爬了爬天涯论坛,中途碰到了很多问题,就想把这些问题分享出来, 都是些简单的问题,希望大佬们以宽容的眼光来看一个小菜鸟
- 频繁爬取天涯的帖子会不会被抓_web爬虫-搞一波天涯论坛帖子练练手
今天我们将要学习如何使用BeautifulSoup库来抓取网站.BeautifulSoup是一个很好的工具,用于解析HTML代码并准确获取所需的信息.因此,无论您是从新闻网站,体育网站,还是在线商店的 ...
- Python3爬取京东商品数据,解决赖加载问题
前言 在这里我就不再一一介绍每个步骤的具体操作了,因为在上一次爬取今日头条数据的时候都已经讲的非常清楚了,所以在这里我只会在重点上讲述这个是这么实现的,如果想要看具体步骤请先去看我今日头条的文章内容, ...
- 用java爬取学校数据_Java爬取校内论坛新帖
Java爬取校内论坛新帖 为了保持消息灵通,博主没事会上上校内论坛看看新帖,作为爬虫爱好者,博主萌生了写个爬虫自动下载的想法. 嗯,这次就选Java. 第三方库准备 Jsoup Jsoup是一款比较好 ...
- Java爬取校内论坛新帖
Java爬取校内论坛新帖 为了保持消息灵通,博主没事会上上校内论坛看看新帖,作为爬虫爱好者,博主萌生了写个爬虫自动下载的想法. 嗯,这次就选Java. 第三方库准备 Jsoup Jsoup是一款比较好 ...
- java爬取论坛信息_Java爬取校内论坛新帖
Java爬取校内论坛新帖 为了保持消息灵通,博主没事会上上校内论坛看看新帖,作为爬虫爱好者,博主萌生了写个爬虫自动下载的想法. 嗯,这次就选Java. 第三方库准备 Jsoup Jsoup是一款比较好 ...
- Python 爬取北京二手房数据,分析北漂族买得起房吗?(附完整源码)
来源:CSDN 本文约3500字,建议阅读9分钟. 本文根据Python爬取了赶集网北京二手房数据,R对爬取的二手房房价做线性回归分析,适合刚刚接触Python&R的同学们学习参考. 房价高是 ...
- 对爬虫爬取到的数据进行存储
已写章节 第一章 网络爬虫入门 第二章 基本库的使用 第三章 解析库的使用 第四章 数据存储 第五章 动态网页的抓取 文章目录 已写章节 第四章 数据存储 4.1 文件存储 4.1.1 TXT文件存储 ...
最新文章
- android 广告效果图,android 仿首页广告轮播效果
- 英特尔CEO:微软Windows 7是PC更新的催化剂
- iredmail 邮件服务器搭建
- 用Qt 4.4编写drcom的GUI (转)
- 工程项目如何实现采购效益最大化?
- 小团队 vs 大团队
- PHP的echo和print小谈
- 分布式主流配置中心介绍:Apollo/Nacos/Spring Cloud Config/Disconf等
- Linux打开txt文件乱码的解决方法
- linux xp镜像文件,让Windows XP镜像文件小一点儿(转)
- UVALive 4329 Ping pong
- ActiveMQ RabbitMQ KafKa对比
- Android系统(204)---ContentProvider
- 74HC AHCT LS LV ABT区别
- dell 2u服务器型号,IBM、HP、Dell比拼主流2U双路服务器
- html5 随机抽奖,jQuery+H5按空格键随机抽奖代码
- c语言单片机编程 实例教程,51单片机的C语言编程基础及实例教程
- 注意:这些跳槽理由会被HR调查!
- 中秋福利!三维重建/SLAM/点云/相机标定/深度估计/缺陷检测课程
- google的开源工程,真多