我正在尝试使用BeautifulSoup获取此页面上所有可用的链接。 但是,当使用urllib获取URL,然后使用BeautifulSoup解析URL时,我没有返回此页面上所有可用的信息。
我尝试了不同的解析器(html.parser,lxml,xml,html5lib),但是它没有返回期望的结果。
我知道如何获取标签详细信息,但是我存储html数据的文件不包含可用的链接。但是当我检查chrome上的元素时,它确实显示了链接。下面是我正在使用的URL代码:
def fetch_html(fullurl,contextstring):
print("Opening the file connection for " + fullurl)
uh= urllib.request.urlopen(fullurl, context=contextstring)
print("HTTP status",uh.getcode())
html =uh.read()
bs = BeautifulSoup(html, 'lxml')
return bs
ctx = ssl.create_default_context()
ctx.check_hostname = False
ctx.verify_mode = ssl.CERT_NONE
mainurl ='https://www.daad.de/deutschland/studienangebote/international-programmes/en/result/?q=°ree%5B%5D=2&lang%5B%5D=2&fos=3&crossFac=&cert=&admReq=&scholarshipLC=&scholarshipSC=&langDeAvailable=&langEnAvailable=&lvlEn%5B%5D=&cit%5B%5D=&tyi%5B%5D=&fee=&bgn%5B%5D=&dur%5B%5D=&sort=4&ins%5B%5D=&subjects%5B%5D=&limit=10&offset=&display=list'
a=(fetch_html(mainurl, ctx))
f= open("F:\Harsh docs\python\courselinks.py","w")
f.write(a.prettify())
f.close
对于结果,我有兴趣获得“嵌入式系统(ESY)”的链接。
答案 0 :(得分:0)
似乎您要抓取的页面正在使用javascript呈现。 您可以尝试使用硒和铬。 或者,您可以使用request_html软件包https://html.python-requests.org/ 在获取html之前呈现javascript
答案 1 :(得分:0)
仅从页面获取所有链接,请使用以下代码:(Python 3)
<div id='MessageHolder'></div>
<a href="#" id="testAnchor"></a>