我想从这个网站(https://www.wunderground.com/personal-weather-station/dashboard?ID=KNYSENEC1#history/tdata/s20171104/e20171104/mdaily)上抓取历史记录表,现在就把它打印出来
以下是我的代码:
import urllib
import urllib.request
from bs4 import BeautifulSoup
def make_soup(url):
thepage = urllib.request.urlopen(url)
soupdata = BeautifulSoup(thepage, "html.parser")
return soupdata
soup = make_soup("https://www.wunderground.com/personal-weather-
station/dashboard?ID=KNYSENEC1#history/tdata/s20171104/e20171104/mdaily")
for record in soup.findAll('tr'):
print(record.text)
由于某些原因,表没有被打印出来,但是当我在代码中插入其他URL时,表被刮取了,没有问题。我对网络垃圾很陌生,所以我确信我的问题有一个明显的解决方案,我只是没有看到
您或者需要使用一些东西来处理页面上的javascript,以便它生成您试图解析的HTML,或者更好的解决方案是提取返回的HTML中存在的JSON并直接使用它。这可以通过以下方式完成:
最困难的部分是创建一个合适的正则表达式来获取所需JSON的开始和结束
这将为您提供一个开始的输出:
相关问题 更多 >
编程相关推荐