我要从此网页获取.csv文件或.xlsx文件。我考虑过使用网络抓取,使用beautifulsoup,但这似乎效率很低。我希望能够编写一个函数,当调用此网页时,代码将找到CSV文件的链接,并将CSV文件返回给我。
这样一来,我就可以对CSV文件进行分析了。
请有人在这里帮助我!
以下是链接:https://data.london.gov.uk/dataset/recorded_crime_rates
答案 0 :(得分:0)
使用 urllib 库获取网页的来源。
这似乎可行:
import urllib.request, urllib.error, urllib.parse
url = 'https://data.london.gov.uk/dataset/recorded_crime_rates'
csvfile = r"C:\Tmp\CrimeRates.csv"
#open main page
response = urllib.request.urlopen(url)
webContent = response.read()
wc = str(webContent)
#get csv URL
i = wc.find(r"crime%20rates.csv")
i2 = wc.find("/download/recorded_crime_rates", i-200)
csvURL = "https://data.london.gov.uk" + wc[i2:i+17]
print(csvURL)
#get csv
csvresp = urllib.request.urlopen(csvURL)
csvdata = str(csvresp.read())
print(len(csvdata), "bytes")
#save csv to file
print("Saving To", csvfile)
f = open(csvfile,"w")
f.write(csvdata.replace(r"\r\n","\n"))
f.close()