• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 知识库 知识库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

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

武飞扬头像
xhjyxxw
帮助1

知行礼动

大家好,今日小科来聊聊一篇关于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