当我使用beautifulsoup刮擦时,表的内容被隐藏了

时间:2018-06-06 06:50:46

标签: python web-scraping beautifulsoup

这是我的情况的一个例子。

事实上,网站页面here在左侧有一个表格,我想用Python来掌握它。原始html文件的文件结构显示为:

enter image description here

'id = companylist'中存在一些样本的信息。因此,我编写了下面的代码来阅读它们:

url = 'http://182.148.109.184/gisnavigation!citysuriverPage.action?regioncode=510300#'
page = requests.get(url, headers={'Referer' : url})
soup = BeautifulSoup(page.text, 'html.parser')
table    = soup.find("tbody", {"id": "companylist"})  

但是,输出只是两行字符串,没有有用的信息。

 [<tbody id="companylist">
 </tbody>]

任何人都知道正确的治疗方法吗?

1 个答案:

答案 0 :(得分:1)

如评论中所述,内容由在浏览器中运行的JavaScript呈现。您可以在幕后使用运行Chromium的Requests-HTML

**Code:**

from requests_html import HTMLSession

url = 'http://182.148.109.184/gisnavigation!citysuriverPage.action?regioncode=510300#'
session = HTMLSession()
r = session.get(url)
r.html.render()

table = r.html.find('#companylist')[0]
print(table.text)

<强>输出:

富顺首创水务有限公司
自贡市
污水厂
...
自贡张家坝氯碱化工有限责任...
自贡市
废气