Ich versuche, einen Web-Scraper, der Tabellen von einer Website ziehen und dann in eine Excel-Tabelle einfügen wird. Ich bin ein EXTREMER Anfänger bei Python (und Codierung im Allgemeinen) - begann buchstäblich vor ein paar Tagen zu lernen.Python Web Scraper/Crawler - HTML-Tabellen zu Excel Spreadsheet
Also, wie mache ich diesen Web-Scraper/Crawler? Hier ist der Code, den ich habe:
import csv
import requests
from BeautifulSoup import BeautifulSoup
url = 'https://www.techpowerup.com/gpudb/?mobile=0&released%5B%5D=y14_c&released%5B%5D=y11_14&generation=&chipname=&interface=&ushaders=&tmus=&rops=&memsize=&memtype=&buswidth=&slots=&powerplugs=&sort=released&q='
response = requests.get(url)
html = response.content
soup = BeautifulSoup(html)
table = soup.find('table', attrs={'class': 'processors'})
list_of_rows = []
for row in table.findAll('tr')[1:]:
list_of_cells = []
for cell in row.findAll('td'):
text = cell.text.replace(' ', '')
list_of_cells.append(text)
list_of_rows.append(list_of_cells)
outfile = open("./GPU.csv", "wb")
writer = csv.writer(outfile)
writer.writerow(["Product Name", "GPU Chip", "Released", "Bus", "Memory", "GPU clock", "Memory clock", "Shaders/TMUs/ROPs"])
writer.writerows(list_of_rows)
Jetzt funktioniert das Programm für die Website im Code oben.
Jetzt will ich die Tabellen auf der folgenden Website kratzen: https://www.techpowerup.com/gpudb/2990/radeon-rx-560d
Hinweis, dass es mehrere Tabellen auf dieser Seite. Was muss ich hinzufügen/ändern, damit das Programm auf dieser Seite funktioniert? Ich versuche alle Tische zu bekommen, aber wenn jemand mir helfen könnte, einen von ihnen zu bekommen, würde ich das sehr schätzen!
Es gibt einige sehr gute Tutorien und Dokumentation, die Sie lernen helfen! [Wie dieser (Web Scraping Workshop)] (https://gist.github.com/bradmontgomery/1872970). – cosinepenguin
@cosinepenguin Danke für den Link! Ich versuche Datentabellen zu kratzen. Haben Sie irgendwelche Links, die so etwas abdecken, oder besser noch, wissen Sie, ob es eine kleine Korrektur in meinem Code gibt, die mir dabei helfen wird, einen dieser Tabellen im zweiten Link, den ich erwähnt habe, zu entfernen? Vielen Dank für deine Hilfe! –
Ich hoffe die folgende Antwort hilft! Ansonsten gibt es eine Menge toller Tutorials, die erklären, wie man * alles * mit BeautifulSoup macht! Eine der gründlichsten ist aus Stanford: [Web Scraping with Beautiful Suppe] (http: //web.stanford.edu/~ zlotnick/TextAsData/Web_Scraping_mit_Beautiful_Soup.html). Dies hebt auch DOM-Modelle in Websites hervor und wie man mit ihnen interagieren kann. Sobald Sie diese Grundlagen beherrschen, ist alles andere erstaunlich einfach! Viel Glück! – cosinepenguin