站長資訊網
最全最豐富的資訊網站

python實現爬取微博熱搜存入Mysql

python實現爬取微博熱搜存入Mysql

免費學習推薦:python視頻教程

python爬取微博熱搜存入Mysql

    • 最終的效果
    • 使用的庫
    • 目標分析
    • 一:得到數據
    • 二:鏈接數據庫
    • 總代碼

最終的效果

廢話不多少,直接上圖
python實現爬取微博熱搜存入Mysql
這里可以清楚的看到,數據庫里包含了日期,內容,和網站link
下面我們來分析怎么實現

使用的庫

import requests from selenium.webdriver import Chrome, ChromeOptions import time from sqlalchemy import create_engine import pandas as pd

目標分析

這是微博熱搜的link:點我可以到目標網頁
python實現爬取微博熱搜存入Mysql
首先我們使用selenium對目標網頁進行請求
然后我們使用xpath對網頁元素進行定位,遍歷獲得所有數據
然后使用pandas生成一個Dataframe對像,直接存入數據庫

一:得到數據

python實現爬取微博熱搜存入Mysql
我們看到,使用xpath可以得到51條數據,這就是各熱搜,從中我們可以拿到鏈接和標題內容

	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

然后我們再使用zip函數,將date,context,links合并
zip函數是將幾個列表合成一個列表,并且按index對分列表的數據合并成一個元組,這個可以生產pandas對象。

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

其中date可以使用time模塊獲得

二:鏈接數據庫

這個很容易

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教程(視頻)

贊(0)
分享到: 更多 (0)
網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
日韩人妻无码一区二区三区久久99| 99久久这里只精品国产免费 | 亚洲欧洲精品无码AV| 国产日韩AV在线播放| 国产在线精品无码二区二区| 久久精品国产精品亚洲下载| 亚洲精品自产拍在线观看动漫| 最新精品国偷自产在线| 国产精品天干天干在线综合 | 久久99精品久久久久久动态图| 亚洲Av无码精品色午夜| 精品一区二区三区四区| 亚洲精品无码久久千人斩| 99国产精品久久| 伊人久久国产精品| 国产午夜亚洲精品国产成人小说 | 国产亚洲午夜精品| 国产高清在线精品免费软件| 国产精品日韩欧美一区二区三区| 久九九精品免费视频| 国产精品亚洲综合久久| 美国发布站精品视频| 99精品国产高清一区二区麻豆| 国产精品亚洲自在线播放页码| 国产成人精品日本亚洲专| 精品日产卡一卡二卡国色天香| 亚洲精品国产肉丝袜久久| 亚洲精品国产福利在线观看| 亚洲精品欧洲精品| 国产伦精品一区二区三区女| 久久精品a亚洲国产v高清不卡| 麻豆亚洲AV永久无码精品久久| 亚洲色图国产精品| 99在线视频精品费观看视| 99久久精品美女高潮喷水| 99久久亚洲精品无码毛片| 在线电影国产精品| 99久久精品午夜一区二区| 亚洲国产精品无码中文lv| 人妻熟妇乱又伦精品HD| 精品免费国产一区二区|