So versuche ich, Florida Statutes von dieser Website zu kratzen: www.leg.state.fl.us/Statutes/Python Web Scraping mit BeautifulSoup, wie komplizierte URL durchlaufen?
Bisher habe ich nur in der Lage, die frist Kapitel zu kratzen: http://www.leg.state.fl.us/Statutes/index.cfm?App_mode=Display_Statute&URL=0000-0099/0001/0001.html.
Ich bemerkte, dass die URL zu "URL = 0000-0099/0002/0002.html" geändert wird. als ich zum nächsten Kapitel springe. Meine Frage ist, wie kann ich so kodieren, dass ich alle Kapitel durchkratzen kann? (Der erste Teil der URL 0000-0099 ist Bereich der Kapitel, so dass dieser Fall wäre es von 1. bis 99. Kapitel sein)
meine Codes sind unten:
from bs4 import BeautifulSoup
import urllib2
f = open('C:\Python27\projects\outflieFS_final.txt','w')
def First_part(url):
thepage = urllib2.urlopen(url)
soupdata = BeautifulSoup(thepage,'html.parser')
return soupdata
soup = First_part("http://www.leg.state.fl.us/statutes/index.cfm?App_mode=Display_Statute&URL=0000-0099/0001/0001.html")
tableContents = soup.find('div', {'id': 'statutes' })
for data in tableContents.findAll('div'):
data = data.text.encode("utf-8","ignore")
data = str(data)+ "\n\n"
f.write(data)
f.close()
dank für die schnelle Antwort, Ihr Code Ändern der Reichweite der Kapitel. Ich möchte den Teil 0001/0001 auf 0002/0002 für das zweite Kapitel, 0003/0003 für das dritte Kapitel und so weiter ändern. – CHballer
@TianMa okay, aktualisiert, vorausgesetzt, Sie möchten den Bereich unverändert lassen. – alecxe
danke! es funktionierte. Eine offtopic Frage, wenn ich die Ausgabe in eine txt-Datei schreibe, wie kommt es, meine Ausgabe dreimal mit unterschiedlichem Format auszudrucken? ist es etwas falsch mit meiner "für" Aussage? – CHballer