2022年卡塔尔世界杯即将开幕,本期,我们用python爬虫实现对百度热搜中世界杯最热运动员的爬虫。具体网页截图如下:
每页热搜共30位球员,其中标签包括:序号、姓名、国籍、球场位置、热搜度等信息,下面我们用python代码来实现对这一页数据的爬取。具体代码如下:
from selenium import webdriverimport timeimport pandas as pd #启动chrome浏览器driver=webdriver.Chrome()driver.start_client()driver.get('https://motion.baidu.com/activity/fifa_bigdata/trend?type=player&sa=fyb_worldcup_H5tab1_athlete')#通过等待时间来控制页面加载time.sleep(1)#通过find_elements_by_css_selector方法找到相关数据wtb=driver.find_elements_by_css_selector('div > div.list-wrap_24k5- > div > a')whole_text=[]for tb in wtb: tt=tb.text.replace('\n',' ') kk=tt.split() kk.pop(3)#除去“|” whole_text.append(kk)col=['序号','姓名','国家','球场位置','热度']df=pd.DataFrame(whole_text)df.to_excel('世界杯最热运动员.xls',index=False)
保存结果至excel文件中,如下图:
好了,本期爬虫用了selenium这个工具,最主要的是百度这个网页里做了js封装,热搜数据很难用requests爬取到,用selenium就非常容易啦。本期就到这里,bye!