我一直在尝试从网站上抓取网页信息: https://www.tddirectinvesting.co.uk/share-dealing/daily-trading-ideas
我想要的信息在元素中,与“RecogniaEventSummaryBodyLinks”类
但是当我尝试下载html文件并将其打印出来时,它显示html文件没有正确下载。我的意思是,当我将我从python代码中获取的整个html文本复制并粘贴到notepad ++中并按CTRL + F查找这些元素是否在html文本中时,它们不在那里。
我也尝试直接从网站手动下载文件,但这也无效。
继承我的代码(python):
import mechanize
import cookielib
from bs4 import BeautifulSoup
def viewPage(url,proxy,userAgent):
br = mechanize.Browser()
cookieJar = cookielib.LWPCookieJar()
br.set_cookiejar(cookieJar)
br.set_proxies(proxy)
br.addheaders = userAgent
page = br.open(url)
htmlFile = page.read()
for cookie in cookieJar:
print("cookie: " + str(cookie))
print("")
return htmlFile
def ScrapeFigures(url):
html = viewPage(url,proxyAdress,agentStringSample)
soup = BeautifulSoup(html,"html.parser")
info = soup.find("a",attrs={"class":"RecogniaEventSummaryBodyLinks"})
我尝试打印变量info
,但它返回null。
然而,在此之后我尝试了复制&将上面代码中的整个soup
变量的python输出粘贴到另一个文本文件中,并将其保存为html文件。当我用我的网络浏览器(Chrome)打开这个html文件时,我需要的元素都在页面上,尽管文本格式的html文件中没有。所以我只是想知道,这是由于页面打开时触发的某种JS引起的吗?
我的问题是,我如何刮掉上述元素?有没有办法解决这个奇怪的错误?
感谢您的时间