[英]beautiful soup parser can't find links
我試圖解析一個HTML文檔,找到使用Beautiful Soup
鏈接,發現了一個奇怪的行為。 該頁面是http://people.csail.mit.edu/gjtucker/ 。 這是我的代碼:
from bs4 import BeautifulSoup
import requests
user_agent = {'User-agent': 'Mozilla/5.0 (X11; Linux i686) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17'}
t=requests.get(url, headers = user_agent).text
soup=BeautifulSoup(t, 'html.parser')
for link in soup.findAll('a'):
print link['href']
這打印出兩個鏈接: http://www.amazon.jobs/team/speech-amazon
: http://www.amazon.jobs/team/speech-amazon
和https://scholar.google.com/citations?user=-gJkPHIAAAAJ&hl=en
,顯然頁面中還有更多鏈接。
任何人都可以重現這個嗎? 這個URL是否有特定原因發生這種情況? 一些外部網址工作得很好。
頁面的HTML格式不正確,您應該使用更寬松的解析器 ,如html5lib
:
soup = BeautifulSoup(t, 'html5lib')
for link in soup.find_all('a'):
print(link['href'])
打印:
http://www.amazon.jobs/team/speech-amazon
https://scholar.google.com/citations?user=-gJkPHIAAAAJ&hl=en
http://www.linkedin.com/pub/george-tucker/6/608/3ba
...
http://www.hsph.harvard.edu/alkes-price/
...
http://www.nature.com/ng/journal/v47/n3/full/ng.3190.html
http://www.biomedcentral.com/1471-2105/14/299
pdfs/journal.pone.0029095.pdf
pdfs/es201187u.pdf
pdfs/sigtrans.pdf
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.