我应该如何从具有“最小化”部分的页面中抓取数据?

时间:2017-08-30 02:05:23

标签: python html web-scraping beautifulsoup lxml

我是BeautifulSoup的新手,我正在尝试从页面中抓取数据,该页面的部分可以由浏览页面的人最小化。当我查看页面的HTML代码时,我在下面找到了类似的内容。

enter image description here

要提取表数据,我使用以下代码,但我无法从表中提取数据。

webpage = "www.webpage.com"
webOpen = urllib2.urlopen(webpage).read()
webSoup = BeautifulSoup(webOpen, "lxml")
tabData = webSoup.find("div", {"class": "cr_cashflow_table"})
tabData = tabData.find_all('tr')

我也尝试了以下内容,但似乎我仍无法提取表中的数据。

webpage = "www.webpage.com"
webOpen = urllib2.urlopen(webpage).read()
webSoup = BeautifulSoup(webOpen, "lxml")
tabData = webSoup.find("div", {"class": "cr_cashflow_table", "style": "display: block;"})
tabData = tabData.find_all('tr')

如果我做错了,请告知。

1 个答案:

答案 0 :(得分:0)

我尝试了以下代码模仿你的代码,但我刚刚更改了网址:

webpage = "www.cnn.com" 
webOpen = urllib2.urlopen(webpage).read()

我收到以下错误:

Traceback (most recent call last):


File "<stdin>", line 1, in <module>
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 154, in urlopen
    return opener.open(url, data, timeout)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 423, in open
    protocol = req.get_type()
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 285, in get_type
    raise ValueError, "unknown url type: %s" % self.__original
ValueError: unknown url type: www.cnn.com

所以看来“www.cnn.com”不是一个有效的网址(或者可能是因为它是假的新的:D),为了解决这个问题,我做了pre http,就像这样:“{{3 “并且能够获得html文档。如果urllib2在您的网址中没有http的情况下返回了html文档,您是否先尝试过?

我希望这会有所帮助。