如果网站没有使用Python返回源代码,我该怎么做呢?

2024-04-20 06:17:45 发布

您现在位置:Python中文网/ 问答频道 /正文

我正试图从以下网站上获取澳大利亚证券交易所(Australian Stock Exchange)上的公司公告的“ASX代码”:http://www.asx.com.au/asx/statistics/todayAnns.do

到目前为止,我尝试使用beauthoulsoup和以下代码:

import requests
from bs4 import BeautifulSoup
response = requests.get('http://www.asx.com.au/asx/statistics/todayAnns.do')
parser = BeautifulSoup(response.content, 'html.parser')
print(parser)

但是,当我打印这个时,它的打印方式与我手动进入页面并查看页面源代码时不一样。我做了一些谷歌搜索,并查看了stackoverflow,相信这是由于Javascript运行在页面上,隐藏了html代码。在

不过,我不确定该如何解决这个问题。任何帮助都将不胜感激。在

提前谢谢。在


Tags: 代码importcomhttpparserresponsewww页面
1条回答
网友
1楼 · 发布于 2024-04-20 06:17:45

试试这个。您需要做的就是让scraper等待一段时间,直到页面被加载,因为您可能已经注意到内容是动态加载的。但是,在执行时,您将从该网页获得表的左侧标题。在

import time
from bs4 import BeautifulSoup
from selenium  import webdriver

driver = webdriver.Chrome()
driver.get('http://www.asx.com.au/asx/statistics/todayAnns.do')
time.sleep(8)

soup = BeautifulSoup(driver.page_source,"lxml")
for item in soup.select('.row'):
    print(item.text)
driver.quit()

部分结果:

^{pr2}$

顺便说一句,我用Python3.5编写并执行了这段代码。所以,最新版本的python在绑定selenium时没有问题。在

相关问题 更多 >