Bu yüzden bu web sitesinden Florida Tüzüğünü kazımak çalışıyorum: BeautifulSoup kullanarak Python web kazıma, karmaşık URL ile döngü nasıl?
www.leg.state.fl.us/Statutes/
Şimdiye kadar frist bölüm kazımak verebiliyoruz vardır: http://www.leg.state.fl.us/Statutes/index.cfm?App_mode=Display_Statute&URL=0000-0099/0001/0001.html.URL'nin "URL = 0000-0099/0002/0002.html" olarak değiştirildiğini fark ettim. Bir sonraki bölüme geçerken. Sorum şu: Bütün bölümleri kazıyarak nasıl kodlayabilirim? (URL 0000-0099 ilk bölümü bölümden aralığı, bu nedenle bu durumda o 99 bölüme 1 ila olurdu)
benim kodları aşağıdaki gibidir:
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()
sayesinde, kodunuz edilir url oluşturmak bölümlerin aralığını değiştirmek. İkinci bölüm için 0001/0001 ila 0002/0002, üçüncü bölüm için 0003/0003 kısmını değiştirmek istiyorum. – CHballer
@TianMa tamam, güncellenmiş, aralığını olduğu gibi bırakmak istediğiniz varsayılarak. – alecxe
teşekkürler! işe yaradı. Bir dış kaynaklı soru, çıktıyı bir txt dosyasına yazdığımda, çıkışımı üç kez farklı formatta nasıl yazdıracağım? "for" ifademde bir sorun mu var? – CHballer