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

        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精品久久精品一区二区| 亚洲AV蜜桃永久无码精品| 99视频在线观看精品| 无码人妻精品一区二区三区66 | 青草国产精品久久久久久| 国内精品国产成人国产三级| 久久精品国产精品青草app| 久久综合久久自在自线精品自| 欧美日韩精品久久久久| 国产精品免费在线播放| 国产亚洲精品观看91在线| 精品无码国产一区二区三区AV| 尤物国精品午夜福利视频| 欧美国产成人精品一区二区三区| 国产成人精品一区在线| 久久99国产精品久久99| 99久久免费国产精品热| 久久狠狠高潮亚洲精品| 亚洲AV乱码久久精品蜜桃| 亚洲国模精品一区| 欧美精品在线视频| 久久精品国产一区二区三区不卡| 国产精品内射久久久久欢欢| 国产精品成人一区二区| 99久久精品费精品国产 | 国内精品免费久久影院| 国产高清一级毛片精品| 911亚洲精品国内自产| 99久久国产综合精品麻豆| 国产成人精品精品欧美| 99久久久国产精品免费无卡顿| 国产欧美日韩精品a在线观看| 乱精品一区字幕二区| 精品久久久久久无码专区| 日韩精品无码AV成人观看| 麻豆aⅴ精品无码一区二区| 国产精品亚洲成在人线|