python爬取微博热搜并存入表格_python爬虫进阶之爬取微博热搜存入Mysql

 2023-09-18 阅读 26 评论 0

摘要:在编程中,我们如果想要把数据转入数据库中,首先会选择 MySQL数据库。因为MySQL数据库体积小、速度快、总体拥有成本低、开放源代码,其有着广泛的应用,例如我们使用python爬虫微博热搜,就可以使用selenium爬取微博热搜存入Mysql。本文介绍使

4e029cbe692fb17b04abb36e4e93d2ad.png

在编程中,我们如果想要把数据转入数据库中,首先会选择 MySQL数据库。因为MySQL数据库体积小、速度快、总体拥有成本低、开放源代码,其有着广泛的应用,例如我们使用python爬虫微博热搜,就可以使用selenium爬取微博热搜存入Mysql。本文介绍使用python爬虫将爬取微博热搜存入Mysql的过程。

爬虫python代码?一、爬取微博热搜存入Mysql思路

1、使用selenium对目标网页进行请求;

python爬取网页?2、使用xpath对网页元素进行定位,遍历获得所有数据;

3、使用pandas生成一个Dataframe对像,直接存入数据库。

爬虫python的爬取步骤。二、爬取微博热搜存入Mysql实现

1、获取微博热搜链接和标题内容all = browser.find_elements_by_xpath('//*[@id="pl_top_realtimehot"]/table/tbody/tr/td[2]/a')  #得到所有数据

context = [i.text for i in c]  # 得到标题内容

links = [i.get_attribute('href') for i in c]  # 得到link

2、使用zip函数,将date,context,links合并

zip函数是将几个列表合成一个列表,并且按index对分列表的数据合并成一个元组,这个可以生产pandas对象。dc = zip(dates, context, links)

pdf = pd.DataFrame(dc, columns=['date', 'hotsearch', 'link'])

3、链接到数据库enging = create_engine("mysql+pymysql://root:123456@localhost:3306/webo?charset=utf8")

pdf.to_sql(name='infromation', con=enging, if_exists="append")

实现总代码from selenium.webdriver import Chrome, ChromeOptions

import time

from sqlalchemy import create_engine

import pandas as pd

def get_data():

url = r"https://s.weibo.com/top/summary"  # 微博的地址

option = ChromeOptions()

option.add_argument('--headless')

option.add_argument("--no-sandbox")

browser = Chrome(options=option)

browser.get(url)

all = browser.find_elements_by_xpath('//*[@id="pl_top_realtimehot"]/table/tbody/tr/td[2]/a')

context = [i.text for i in all]

links = [i.get_attribute('href') for i in all]

date = time.strftime("%Y-%m-%d-%H_%M_%S", time.localtime())

dates = []

for i in range(len(context)):

dates.append(date)

# print(len(dates),len(context),dates,context)

dc = zip(dates, context, links)

pdf = pd.DataFrame(dc, columns=['date', 'hotsearch', 'link'])

# pdf.to_sql(name=in, con=enging, if_exists="append")

return pdf

def w_mysql(pdf):

try:

enging = create_engine("mysql+pymysql://root:123456@localhost:3306/webo?charset=utf8")

pdf.to_sql(name='infromation', con=enging, if_exists="append")

except:

print('出错了')

if __name__ == '__main__':

xx = get_data()

w_mysql(xx)

以上就是python使用selenium爬取微博热搜存入Mysql的过程,希望能对你有所帮助哦~更多python爬虫学习推荐:python爬虫教程。

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/4/76926.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息