Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/357.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python+;BeautifulSoup:从网页中删除特定表格_Python_Web Scraping_Beautifulsoup - Fatal编程技术网

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]对于任何像我一样努力得到这个答案的人,你可能会发现我的问题很有帮助,即使我提出的问题很垃圾。它使用了一种不同的方法,因为我的桌子不是在玩球。对于任何像我一样努力得到这个答案的人来说,你可能会发现我的问题很有帮助,即使我提出的问题很垃圾。它使用了不同的方法,因为我的桌子没有打球。