不知道你怎麼樣了頁面和鏈接,這裏是我做的,並得到了所有的鏈接從「加拿大」開始,以「Taloyoak,HAM」的結局:
from bs4 import BeautifulSoup
import requests
url = 'http://www12.statcan.gc.ca/census-recensement/2006/dp-pd/tbt/Geo-index-eng.cfm?TABID=5&LANG=E&APATH=3&DETAIL=0&DIM=0&FL=A&FREE=0&GC=0&GID=0&GK=0&GRP=1&PID=99015&PRID=0&PTYPE=88971,97154&S=0&SHOWALL=0&SUB=0&Temporal=2006&THEME=70&VID=0&VNAMEE=&VNAMEF=&D1=0&D2=0&D3=0&D4=0&D5=0&D6=0'
response = requests.get(url)
soup = BeautifulSoup(response.content)
print [a.text for a in soup.select('div.span-8 ol li a')]
打印:
[
u'Canada',
u'Newfoundland and Labrador/Terre-Neuve-et-Labrador',
...
u'Gjoa Haven, HAM',
u'Taloyoak, HAM'
]
FYI,div.span-8 ol li a
是CSS Selector
。
這也是我的第一個想法,但在'html5lib','html.parser','lxml'之間切換沒有區別 - 至少對於我使用的方法而言。謝謝。 – alecxe
@Mikki。謝謝。 html5lib爲我工作。我通過'save page as'從chrome獲得了html。我仍然困惑爲什麼其他解析器不工作... – Ben