Python+;BeautifulSoup:从网页中删除特定表格
我正试图从以下位置刮取一张特定的桌子: 我想搜集的是股票信息。日期、公司名称、比率以及是否可选择 以下是我目前掌握的情况:Python+;BeautifulSoup:从网页中删除特定表格,python,web-scraping,beautifulsoup,Python,Web Scraping,Beautifulsoup,我正试图从以下位置刮取一张特定的桌子: 我想搜集的是股票信息。日期、公司名称、比率以及是否可选择 以下是我目前掌握的情况: from bs4 import BeautifulSoup import urllib2 url = "http://biz.yahoo.com/c/s.html" page = urllib2.urlopen(url) soup = BeautifulSoup(page.read()) alltables = soup.find_all('table') 这段代
from bs4 import BeautifulSoup
import urllib2
url = "http://biz.yahoo.com/c/s.html"
page = urllib2.urlopen(url)
soup = BeautifulSoup(page.read())
alltables = soup.find_all('table')
这段代码提供了页面上的所有表(不止一个)
1) 我不知道如何识别我需要的表格
2) 我不知道如何将该表中的信息提取到数组、列表或其他数据结构中,以便进一步分析。标记并不容易刮取-没有可以用来区分表与表的
id
s或特定类
属性。在这种情况下,我要做的是查找应付款
标题单元格并查找第一个表
:
然后,您可以迭代表行,跳过前2个标题和带分隔符的行:
for row in table.find_all("tr")[2:]:
print([cell.get_text(strip=True) for cell in row.find_all("td")])
并且,您可以将其转换为列表列表:
[[cell.get_text(strip=True)
for cell in row.find_all("td")]
for row in table.find_all("tr")[2:]]
标记并不容易刮取-没有可用于区分表的
id
s或特定class
属性。在这种情况下,我要做的是查找应付款
标题单元格并查找第一个表
:
然后,您可以迭代表行,跳过前2个标题和带分隔符的行:
for row in table.find_all("tr")[2:]:
print([cell.get_text(strip=True) for cell in row.find_all("td")])
并且,您可以将其转换为列表列表:
[[cell.get_text(strip=True)
for cell in row.find_all("td")]
for row in table.find_all("tr")[2:]]
如果你自己不知道,我们怎么知道你需要什么?你想要的表是body标签中的最后一个表。尝试
汤。查找所有(“表”)[-1]
如果您自己不知道,我们如何知道您需要什么?您想要的表是body标签中的最后一个表。试试汤。找到所有的(“桌子”)[-1]对于任何像我一样努力得到这个答案的人,你可能会发现我的问题很有帮助,即使我提出的问题很垃圾。它使用了一种不同的方法,因为我的桌子不是在玩球。对于任何像我一样努力得到这个答案的人来说,你可能会发现我的问题很有帮助,即使我提出的问题很垃圾。它使用了不同的方法,因为我的桌子没有打球。