【发布时间】:2019-08-19 06:14:39
【问题描述】:
我正在尝试从 NOAA 网站上抓取一个非常简单的表格:https://www1.ncdc.noaa.gov/pub/data/cdo/samples/PRECIP_HLY_sample_ascii.dat
该表格是一个“.dat”文件,并且该站点似乎是 html 格式。当我使用 BeautifulSoup 阅读内容时,我可以很好地看到内容。但是,当我使用“find_all”或“find”搜索表时,我什么也得不到,即 []。
这是我的初始代码:
page = requests.get('https://www1.ncdc.noaa.gov/pub/data/cdo/samples/PRECIP_HLY_sample_ascii.dat')
soup = BeautifulSoup(page.content,'html.parser') #'html5lib' #'html.parser' 'lxml'
table = soup.find_all('table')
但是,当我尝试将信息放入表格时,它会出现空白
table
>> []
我尝试了以下变体:
page = urllib.request.urlopen('https://www1.ncdc.noaa.gov/pub/data/cdo/samples/PRECIP_HLY_sample_ascii.dat').read()
soup = BeautifulSoup(page,'lxml')
soup = BeautifulSoup(page,'html5lib') #'' #''
table = soup.findAll('table')
table = soup.findAll("div",{"class":"line-gutter-backdrop"})
table = soup.find_all(True)
但是,表格仍然是空白的。
我发现这个问题似乎很相似:Cannot find table using Python BeautifulSoup
但我的表不在 javascript 中(据我所知)。这只是文字。
我对数据抓取非常陌生,真的不知道为什么这个简单的示例不起作用。非常感谢任何帮助。谢谢你。
【问题讨论】:
-
昨天这个问题还有一个答案,但现在没有了。请问可以转发吗?谢谢。
标签: python-3.x web-scraping beautifulsoup