2022年01月21日发布python实现爬取微博热搜存入Mysql

大家好,今日小科来聊聊一篇关于2022年01月21日整理发布:python实现爬取微博热搜存入Mysql的文章,现在让我们往下看看吧!
Python抓取微博热搜,存入Mysql
库目标分析的最终效果一:获取数据二:链接数据库总代码的最终效果。
废话不多说,直接上图
在这里,我们可以清楚地看到,数据库中包含了日期内容和网站链接。我们来分析一下如何实现。
使用的库
导入请求
从selenium.webdriver导入Chrome,ChromeOptions
导入时间
从sqlalchemy导入创建引擎
进口熊猫作为pd靶标分析
这是微博热搜的链接:点击我可以去目标网页。
首先,我们使用selenium请求目标网页,然后使用xpath定位并遍历网页元素以获得所有数据,然后使用pandas生成一个Dataframe对象并直接将其存储在数据库中。
一:获取数据
我们看到,我们可以通过使用xpath获得51条数据,XPath是热门搜索,我们可以从中获得链接和标题。
all=browser . find _ elements _ by _ XPath('/*[@ ID=' pl _ top _ real time hot ']/table/t body/TR/TD[2]/a ')#获取所有数据。
Context=[i.text for i in c] #获取标题内容。
links=[I . Get _ attribute(' href ')for I in c]#获取链接,然后我们使用zip函数合并datecontextlinks。zip功能是将几个列表组合成一个列表,并通过索引将列表的数据组合成一个元组。这可以产生熊猫物体。
dc=zip(日期、上下文、链接)
Pdf=pd.dataframe (DC,columns=['date ',' hotsearch ',' link']),其中可以使用时间模块获取日期。
第二,链接数据库
这很简单。
enging=create _ engine(' MySQL pymysql ://root :123456 @ localhost :3306/webo?字符集=utf8’)
pdf.to _ SQL的总代码(名称=“感染”,con=引擎,if _ exists=“追加”)
从selenium.webdriver导入Chrome,ChromeOptions
导入时间
从sqlalchemy导入创建引擎
进口熊猫作为pd
def get_data:
https://s.weibo.com/top/summary' #微博地址
选项=ChromeOptions
option.add_argument(' -无头')
option . add _ argument('-no-sandbox ')
浏览器=Chrome(选项=选项)
browser.get(url)
all=browser . find _ elements _ by _ XPath('//*[@ id=' pl _ top _ realtimehot ']/table/t body/tr/TD[2]/a ')
上下文=[i.text for i in all]
links=[i.get_attribute('href ')代表i in all]
date=time . str time(' % Y-% M-% d-% H _ % M _ % S ',time.localtime)
日期=[]
对于范围内的I(len(context)):
dates.append(日期)
#打印(len(日期),len(上下文),日期,上下文)
dc=zip(日期、上下文、链接)
pdf=pd。DataFrame(dc,列=['date ',' hotsearch ',' link'])
# pdf.to_sql(名称=in,con=enging,if_exists='append ')
返回pdf
def w_mysql(pdf):
尝试:
enging=create _ engine(' MySQL pymysql ://root :123456 @ localhost :3306/webo?字符集=utf8’)
pdf.to_sql(名称=' infromation ',con=enging,if_exists='append ')
除外:
打印(“错误”)
if __name__=='__main__':
xx=get_data
W_mysql(xx)希望能帮你进步,一起成长!祝大家新年快乐!
这篇好文章是转载于:知行礼动
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 知行礼动
- 本文地址: /news/detail/tanhbggeaa