Python - 从网站中提取某些链接

时间:2016-01-13 20:21:24

标签: python xml beautifulsoup urllib elementtree

我想从website中提取某些链接。

要提取所有链接,我试过:

import urllib
import xml.etree.ElementTree as ET
from BeautifulSoup import *

url = 'http://pdok.bundestag.de/index.php?qsafe=&aload=off&q=kleine+anfrage&x=0&y=0&df=22.10.2013&dt=13.01.2016'
uh = urllib.urlopen(url)
data = uh.read()
soup=BeautifulSoup(data)
soup.prettify()

for href in soup.findAll('a'):
    print href

现在,我得到一个链接列表,但由于某种原因,我没有得到tbody中的重要链接。我也尝试过使用ElementTree,但是我只是在读取链接时遇到错误,因为它使用了一些无效符号(?)。任何帮助深表感谢! :)

1 个答案:

答案 0 :(得分:3)

urllib使用Javascript 关闭加载网站的HTML。您尝试在tbody中抓取的链接由JavaScript呈现,因此请勿加载。

您可以通过在浏览器中关闭JavaScript并访问网站来复制此行为。如果你经常刮,你可能希望下载一个浏览器插件,它允许你快速打开和关闭JavaScript。

要抓取使用JavaScript加载HTML内容的网站,您可能希望探索浏览器自动化选项,例如selenium