Explorez l'URL contenue dans le tweet Twitter avec python

Aperçu

Détails

crawl.py


# -*- coding: utf-8 -*-
try:
    # Python 3
    from urllib import request
except ImportError:
    # Python 2
    import urllib2 as request

from bs4 import BeautifulSoup

import twpy
import time

#connexion postgresql
import psycopg2

def main():
    #Lire les données du tweet
    api = twpy.api
    tweets = api.user_timeline(screen_name = "ID d'un compte Twitter")

    connector = psycopg2.connect(host="hoge",port=5432,dbname="hogehoge",user="hoge",password="hoge")
    max_hoge_id_fetcher = connector.cursor()
    cursor = connector.cursor()

    max_hoge_id_fetcher.execute('select MAX(hoge_id) from hoge')

    #Le dernier hoge enregistré dans la base de données_Obtenir l'identifiant
    for row in max_hoge_id_fetcher:
        max_hoge_id = row[0]
        print("Le dernier ID enregistré est"+str(hoge_id))

    #Lisez les tweets un par un et explorez l'URL
    for tweet in tweets:
        text = tweet.text
        url = tweet.entities['urls']
        expanded_url = url[0]['expanded_url']
        
        #Cette fois, la destination de l'exploration est une URL avec une chaîne de caractères spécifique
        crawl_url = expanded_url + "hogehoge"
        response = request.urlopen(crawl_url)

        #Lire la réponse et enregistrer dans le corps
        body = response.read()

        #Analyser le HTML et le mettre dans la soupe
        soup = BeautifulSoup(body,'html.parser')

        hoge_id = soup.find('id').text

        print(str(hoge_id)+"Commencer")

        #Une fois que vous arrivez au dernier hogeid, ne rampez pas après cela.
        if int(hoge_id) <= max_hoge_id:
            print('Ces données sont déjà incluses.')
            break

        description = soup.find('description').text

        #Omission

        #Insérer des données
        cursor.execute('insert into hoge(hoge_id,description,hogehoge,,,) values(%s,%s,hogehoge)',(hoge_id,description,hoge,))
        print("inserted!")

        #Temps de sommeil réglé sur 3 secondes
        time.sleep(3)

    #Enregistrez vos modifications
    connector.commit()

    cursor.close()
    connector.close()


if __name__ == '__main__':
    main()

twpy.py


#!/usr/bin/env python
# -*- coding:utf-8 -*-

#Importer la bibliothèque Tweepy
import tweepy

#Définir diverses clés
CONSUMER_KEY = 'hoge'
CONSUMER_SECRET = 'hoge'
auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET)
ACCESS_TOKEN = 'hoge'
ACCESS_SECRET = 'hoge'
auth.set_access_token(ACCESS_TOKEN, ACCESS_SECRET)

#Créer une instance d'API
api = tweepy.API(auth)

#Prêt à utiliser l'API Twitter de Python.
print "Done!"

Exemple d'exécution

$ python crawl.py 
Done!
Le dernier ID enregistré est 92
Début 98
inserted!
Début 97
inserted!
Début 96
inserted!
Début 95
inserted!
Début 94
inserted!
Début 93
inserted!
Début 92
Ces données sont déjà incluses.

(Partie du) site auquel j'ai fait référence

[Python: raclage de sites Web avec BeautifulSoup4](http://momijiame.tumblr.com/post/114227737756/python-beautifulsoup4-%E3%82%92%E4%BD%BF%E3%81%A3 % E3% 81% A6-web-% E3% 82% B5% E3% 82% A4% E3% 83% 88% E3% 82% 92% E3% 82% B9% E3% 82% AF% E3% 83% AC% E3% 82% A4% E3% 83% 94% E3% 83% B3% E3% 82% B0% E3% 81% 99% E3% 82% 8B) Utilisation de Tweepy pour faire fonctionner très facilement l'API Twitter en Python

Merci beaucoup.

Recommended Posts

Explorez l'URL contenue dans le tweet Twitter avec python
Tweet à l'aide de l'API Twitter en Python
Tweet avec image en Python
J'ai aimé le tweet avec python. ..
Accéder à l'API Twitter avec Python
[Memo] Tweet sur Twitter avec Python
Afficher Python 3 dans le navigateur avec MAMP
Tweet de python avec Twitter Developer + Tweepy
Vérifiez si l'URL existe en Python
Tweetez régulièrement avec l'API Twitter Go language
[Python] Récupérez les fichiers dans le dossier avec Python
[Automation] Extraire le tableau en PDF avec Python
Émettre l'URL signée Amazon CloudFront en Python
Raccourcissement d'URL avec Python
Obtenez des informations sur les 100 utilisateurs techniques de Twitter les plus influents au monde avec python.
Convertissez l'image au format .zip en PDF avec Python
Obtenez des résultats au format dict avec Python psycopg2
Ecrire des caractères dans l'illustration de la carte avec OpenCV python
Obtenez l'URL de la destination de la redirection HTTP en Python
[Pour les débutants] Web scraping avec Python "Accédez à l'URL de la page pour obtenir le contenu"
Exploitez LibreOffice avec Python
Mémo graphique Twitter avec Python
Obtenez la chronologie Twitter avec Python
Grattage avec chromedriver en python
Utiliser l'API Twitter avec Python
Gérer les sons en Python
Grattage avec du sélénium en Python
Grattage avec Tor en Python
Combiné avec ordinal en Python
Appelez l'API avec python3.
Rechercher des tweets Twitter avec Python
Traitement des URL relatives en python
Essayez de gratter les données COVID-19 Tokyo avec Python
Essayez d'utiliser l'API Twitter rapidement et facilement avec Python
Calculez des millions de chiffres dans la racine carrée de 2 avec python
[python] Décomposez la chronologie Twitter acquise en morphologie avec MeCab
Créez un Twitter BOT avec le SDK GoogleAppEngine pour Python
[Homologie] Comptez le nombre de trous dans les données avec Python
Extraire le fichier xz avec python
Tester avec des nombres aléatoires en Python
Obtenir l'API arXiv en Python
GOTO en Python avec Sublime Text 3
Travailler avec LibreOffice en Python: import
Python dans le navigateur: la recommandation de Brython
Enregistrez le fichier binaire en Python
Scraping avec Selenium en Python (Basic)
Obtenez le chemin du bureau en Python
Numer0n avec des objets fabriqués avec Python
Obtenez la météo avec les requêtes Python
Obtenez la météo avec les requêtes Python 2
Exportez le contenu de ~ .xlsx dans le dossier en HTML avec Python
Ouvrez UTF-8 avec BOM en Python
Obtenez le chemin du script en Python
Dans la commande python, python pointe vers python3.8
Implémenter le modèle Singleton en Python