Crawlen Sie die im Twitter-Tweet enthaltene URL mit Python

Überblick

Einzelheiten

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

#postgresql Verbindung
import psycopg2

def main():
    #Tweet-Daten lesen
    api = twpy.api
    tweets = api.user_timeline(screen_name = "ID eines Twitter-Kontos")

    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')

    #Der letzte in der DB gespeicherte Hoge_ID abrufen
    for row in max_hoge_id_fetcher:
        max_hoge_id = row[0]
        print("Die zuletzt gespeicherte ID ist"+str(hoge_id))

    #Lesen Sie die Tweets nacheinander und crawlen Sie die URL
    for tweet in tweets:
        text = tweet.text
        url = tweet.entities['urls']
        expanded_url = url[0]['expanded_url']
        
        #Dieses Mal ist das Crawling-Ziel eine URL mit einer bestimmten Zeichenfolge
        crawl_url = expanded_url + "hogehoge"
        response = request.urlopen(crawl_url)

        #Antwort lesen und im Körper speichern
        body = response.read()

        #Analysieren Sie HTML und geben Sie es in die Suppe
        soup = BeautifulSoup(body,'html.parser')

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

        print(str(hoge_id)+"Anfangen")

        #Wenn Sie das neueste Hogeid erreicht haben, kriechen Sie danach nicht mehr.
        if int(hoge_id) <= max_hoge_id:
            print('Diese Daten sind bereits enthalten.')
            break

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

        #Unterlassung

        #Daten einfügen
        cursor.execute('insert into hoge(hoge_id,description,hogehoge,,,) values(%s,%s,hogehoge)',(hoge_id,description,hoge,))
        print("inserted!")

        #Schlafzeit auf 3 Sekunden eingestellt
        time.sleep(3)

    #Speichern Sie Ihre Änderungen
    connector.commit()

    cursor.close()
    connector.close()


if __name__ == '__main__':
    main()

twpy.py


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

#Tweepy-Bibliothek importieren
import tweepy

#Stellen Sie verschiedene Schlüssel ein
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)

#API-Instanz erstellen
api = tweepy.API(auth)

#Bereit zum Betreiben der Twitter-API von Python.
print "Done!"

Ausführungsbeispiel

$ python crawl.py 
Done!
Die zuletzt gespeicherte ID ist 92
Starten Sie 98
inserted!
Starten Sie 97
inserted!
Starten Sie 96
inserted!
Starten Sie 95
inserted!
Starten Sie 94
inserted!
Starten Sie 93
inserted!
Starten Sie 92
Diese Daten sind bereits enthalten.

(Teil von) der Site, auf die ich verwiesen habe

[Python: Scraping von Websites mit 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) Verwenden von Tweepy zum einfachen Bedienen der Twitter-API in Python

Vielen Dank.

Recommended Posts

Crawlen Sie die im Twitter-Tweet enthaltene URL mit Python
Tweet mit der Twitter-API in Python
Tweet mit Bild in Python
Ich mochte den Tweet mit Python. ..
Greifen Sie mit Python auf die Twitter-API zu
[Memo] Tweet auf Twitter mit Python
Zeigen Sie Python 3 im Browser mit MAMP an
Tweet von Python mit Twitter Developer + Tweepy
Überprüfen Sie, ob die URL in Python vorhanden ist
Twittern Sie regelmäßig mit der Twitter-API in Go-Sprache
[Python] Holen Sie sich die Dateien mit Python in den Ordner
[Automatisierung] Extrahieren Sie die Tabelle als PDF mit Python
Geben Sie die von Amazon CloudFront signierte URL in Python aus
URL-Verkürzung mit Python
Erhalten Sie mit Python Informationen zu den 100 einflussreichsten technischen Twitter-Nutzern der Welt.
Konvertieren Sie das Bild in .zip mit Python in PDF
Mit Python psycopg2 erhalten Sie Ergebnisse im Diktatformat
Schreiben Sie mit OpenCV-Python Zeichen in die Kartenillustration
Rufen Sie die URL des HTTP-Umleitungsziels in Python ab
[Für Anfänger] Web-Scraping mit Python "Greifen Sie auf die URL auf der Seite zu, um den Inhalt abzurufen."
Betreiben Sie LibreOffice mit Python
Twitter-Grafiknotiz mit Python
Holen Sie sich Twitter-Timeline mit Python
Schaben mit Chromedriver in Python
Verwenden Sie die Twitter-API mit Python
Umgang mit Sounds in Python
Scraping mit Selen in Python
Scraping mit Tor in Python
Kombiniert mit Ordnungszahl in Python
Rufen Sie die API mit python3 auf.
Suche nach Twitter-Tweets mit Python
Relative URL-Verarbeitung in Python
Versuchen Sie, COVID-19 Tokyo-Daten mit Python zu kratzen
Versuchen Sie, mit Python schnell und einfach auf die Twitter-API zuzugreifen
Berechnen Sie mit Python Millionen von Stellen in der Quadratwurzel von 2
[Python] Zerlegen Sie die erfasste Twitter-Timeline mit MeCab in Morphologie
Erstellen Sie einen Twitter-BOT mit dem GoogleAppEngine SDK für Python
[Homologie] Zählen Sie mit Python die Anzahl der Löcher in den Daten
Extrahieren Sie die xz-Datei mit Python
Testen mit Zufallszahlen in Python
Abrufen der arXiv-API in Python
GOTO in Python mit erhabenem Text 3
Arbeiten mit LibreOffice in Python: Importieren
Python im Browser: Brythons Empfehlung
Speichern Sie die Binärdatei in Python
Scraping mit Selen in Python (Basic)
Holen Sie sich den Desktop-Pfad in Python
Numer0n mit Elementen, die mit Python erstellt wurden
Holen Sie sich das Wetter mit Python-Anfragen
Holen Sie sich das Wetter mit Python-Anfragen 2
Geben Sie den Inhalt von ~ .xlsx im Ordner mit Python in HTML aus
Öffnen Sie UTF-8 mit Stückliste in Python
Holen Sie sich den Skriptpfad in Python
Im Python-Befehl zeigt Python auf Python3.8
Implementieren Sie das Singleton-Muster in Python