![](/img/trans.png)
[英]Beautiful Soup 4 doesn't update the full soup object when new contents added to tag
[英]Beautiful Soup doesn't 'get' full webpage
我正在使用BeautifulSoup來解析此頁面上的一堆鏈接,但它並未提取我想要的所有鏈接。 為了找出原因,我將html下載到“ web_page.html”並運行
soup = BeautifulSoup(open("web_page.html"))
print soup.get_text()
我注意到它不能打印整個網頁。 它結束於布雷克利。 我看了一下html代碼,看在'Brackley'上是否發生了一些奇怪的事情,但是我什么也沒找到。 另外,如果我將另一個鏈接移到Brackley的位置,它將打印該鏈接,而不是Brackley。 看來它只會讀取一定大小的html文件?
不知道您如何獲得頁面和鏈接,這是我所做的,並獲得了所有從“加拿大”開始並以“ 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'
]
僅供參考, div.span-8 ol li a
是一個CSS Selector
。
嘗試使用其他解析器。 您沒有指定一個,所以您可能正在使用默認的html.parser
。 嘗試使用lxml
或html5lib
。
有關更多信息: http : //www.crummy.com/software/BeautifulSoup/bs4/doc/#installing-a-parser
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.