【发布时间】:2017-11-04 12:05:25
【问题描述】:
我希望从该网站 (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 插入此代码时,表格被刮掉没有问题。我对网络抓取非常陌生,所以我确信我的问题有一个明显的解决方案,我只是没有看到它。
【问题讨论】:
-
在抓取页面之前,请查看其源代码。在这里,您会注意到该表是从存储在 HTML 文档末尾的
<script>块中的 JSON 对象动态生成的。 -
好的,我现在明白了。由于表格是动态生成的,这是否意味着我无法抓取它?或者我可以对我的代码进行调整以解决这个问题。感谢您的回复
标签: python