Python爬取虎扑世界杯新闻

一、观察网页

通过谷歌浏览器进入虎扑,搜索世界杯新闻 (网址:https://bbs.hupu.com/search?q=%E4%B8%96%E7%95%8C%E6%9D%AF&topicId=&sortby=general&page=1) 翻页的同时可以发现网址仅最后一个数字发生改变;

点击Network,点击刷新,打开最上面的网址,点击Preview,发现我们需要的世界杯新闻信息就在这个网站上。故可判断该网站是静态网页。

image-20221213141005751

二、请求数据

在搜索框中点击“Network”,刷新网页后,点击“Doc”,查看栏下“Name”的链接,其中“Headers”栏,发现该网页的“Requests Method”为“GET”,状态代码为“200”Content-Type为text/html;charset=UTF-8,说明可以通过requests库请求数据。

具体代码如下:

#导入第三方库   import requests   from bs4 import BeautifulSoup   import pandas as pd      #请求数据   items=[]   for i in range(1,3):#进行for循环       if i==1:           url='https://bbs.hupu.com/search?q=%E4%B8%96%E7%95%8C%E6%9D%AF&topicId=&sortby=general&page=1'#第1页获取链接       else:           url=f'https://bbs.hupu.com/search?q=%E4%B8%96%E7%95%8C%E6%9D%AF&topicId=&sortby=general&page={i}'#第i页获取链接       r=requests.get(url)       r.encoding=r.apparent_encoding #防止乱码       text=r.text   

三、解析数据

通过chrome控制台对DOM结构进行分析。结果如下图:

本着从特殊到一般的思路进行搜索,通过一个新闻信息进行分析,找出所有新闻的共性。通过分析发现,我们需要的信息是一个a标签对应的内容,然后我们需要向上进行搜索,标签的上一级是一个class属性值为content-wrap的div标签,这个div的上一级是一个class属性值为bbs-search-web-content的div标签。检查后可以发现所有需要的数据都在这个标签下。于是通过BeautifulSoup库来解析数据:

#解析数据       soup = BeautifulSoup(text,'html.parser')       div_list=soup.find('div',class_='bbs-search-web-content').find_all('div',class_='content-wrap')              for div in div_list:           title=div.find('a').text             href=div.find('a').get('href')           child_url='https://www.hupu.com/app/'+href            data=div.find('span').text           item=[title,data,child_url]           items.append(item)   

四、存储数据

利用pandas库将爬取的信息以Excel表格的形式存储,代码如下:

#pandas库保存数据   df=pd.DataFrame(items,columns=['标题','发布时间','链接'])#将总列表中的列标题分别命名为标题、发布时间、链接   df.to_excel('世界杯新闻.xlsx',encoding='utf_8_sig')   

五、全局代码及运行结果

1.全局代码

#导入第三方库   import requests   from bs4 import BeautifulSoup   import pandas as pd      #请求数据   items=[]   for i in range(1,3):#进行for循环       if i==1:           url='https://bbs.hupu.com/search?q=%E4%B8%96%E7%95%8C%E6%9D%AF&topicId=&sortby=general&page=1'#第1页获取链接       else:           url=f'https://bbs.hupu.com/search?q=%E4%B8%96%E7%95%8C%E6%9D%AF&topicId=&sortby=general&page={i}'#第i页获取链接       r=requests.get(url)       r.encoding=r.apparent_encoding #防止乱码       text=r.text       #解析数据       soup = BeautifulSoup(text,'html.parser')       div_list=soup.find('div',class_='bbs-search-web-content').find_all('div',class_='content-wrap')              for div in div_list:           title=div.find('a').text             href=div.find('a').get('href')           child_url='https://www.hupu.com/app/'+href            data=div.find('span').text           item=[title,data,child_url]           items.append(item)      #pandas库保存数据   df=pd.DataFrame(items,columns=['标题','发布时间','链接'])#将总列表中的列标题分别命名为标题、发布时间、链接   df.to_excel('世界杯新闻.xlsx',encoding='utf_8_sig')   

2.运行结果

以上就是“Python爬取虎扑世界杯新闻”的全部内容,希望对你有所帮助。

关于Python技术储备

学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

一、Python所有方向的学习路线

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

在这里插入图片描述

二、Python必备开发工具

img

三、Python视频合集

观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

img

四、实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

img

五、Python练习题

检查学习结果。

img

六、面试资料

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

img

最后祝大家天天进步!!

上面这份完整版的Python全套学习资料已经上传至CSDN官方,朋友如果需要可以直接微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】。

  • 14
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值