【问题标题】:Python – Extract certain links from websitePython – 从网站中提取某些链接
【发布时间】:2016-04-18 23:52:33
【问题描述】:

我想从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,但我在阅读链接时遇到错误,因为它使用了一些无效符号左右(?)。任何帮助深表感谢! :)

【问题讨论】:

    标签: python xml beautifulsoup urllib elementtree


    【解决方案1】:

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

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

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

    【讨论】:

    • 啊,好吧,有道理。我研究一下,谢谢! :)
    猜你喜欢
    • 2018-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-14
    • 2017-04-18
    • 1970-01-01
    相关资源
    最近更新 更多