Maison > développement back-end > Tutoriel Python > Python réalise l'exploration des recherches à chaud sur Weibo et les stocke dans Mysql

Python réalise l'exploration des recherches à chaud sur Weibo et les stocke dans Mysql

coldplay.xixi
Libérer: 2021-01-27 17:45:13
avant
2308 Les gens l'ont consulté

Python réalise l'exploration des recherches à chaud sur Weibo et les stocke dans Mysql

Recommandations d'apprentissage gratuites : tutoriel vidéo python

micro Boresou d'exploration de python est stocké dans Mysql

    • Effet final
    • Bibliothèque utilisée
    • Analyse cible
    • Un : Obtenir des données
    • Deux : Base de données de liens
    • Code total

Effet final

Pas beaucoup de bêtises , allez simplement à l'image ci-dessus
Python réalise lexploration des recherches à chaud sur Weibo et les stocke dans Mysql
Ici, vous pouvez clairement voir que la base de données contient la date, le contenu et le lien du site Web
Analysons comment la mettre en œuvre

Bibliothèque utilisée

import requests
from selenium.webdriver import Chrome, ChromeOptions
import time
from sqlalchemy import create_engine
import pandas as pd
Copier après la connexion

Analyse cible

Ceci est un lien très recherché sur Weibo : Cliquez sur moi pour accéder à la page Web cible
Python réalise lexploration des recherches à chaud sur Weibo et les stocke dans Mysql
Nous utilisons d'abord Selenium pour demander la page Web cible
Ensuite, nous utilisons XPath pour localiser les éléments de la page Web et les parcourir pour obtenir toutes les données
Ensuite, nous utilisons des pandas pour générer un objet Dataframe et le stocker directement dans le base de données

1 : Obtenir des données

Python réalise lexploration des recherches à chaud sur Weibo et les stocke dans Mysql
Nous voyons qu'en utilisant XPath, nous pouvons obtenir 51 éléments de données, qui sont les recherches chaudes, à partir desquelles nous pouvons obtenir les liens et le contenu du titre

	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
Copier après la connexion

Ensuite, nous utilisons la fonction zip pour fusionner la date, le contexte et les liens
La fonction zip combine plusieurs listes en une seule liste et divise les données de la liste en fonction de l'index pour fusionner en un tuple, cela peut produire des objets pandas.

dc = zip(dates, context, links)
    pdf = pd.DataFrame(dc, columns=['date', 'hotsearch', 'link'])
Copier après la connexion

La date peut être obtenue à l'aide du module heure

2 : Lier la base de données

C'est facile

enging = create_engine("mysql+pymysql://root:123456@localhost:3306/webo?charset=utf8")
pdf.to_sql(name='infromation', con=enging, if_exists="append")
Copier après la connexion

Total Code

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)
Copier après la connexion

J'espère que cela pourra vous aider un peu, et permettre à tous de progresser et de grandir ensemble !
Bonne année à tous ! ! !

Recommandations d'apprentissage gratuites associées : Tutoriel Python(vidéo)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:csdn.net
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal