【问题标题】:Scrape links from a website - can't see href从网站上抓取链接 - 看不到 href
【发布时间】:2012-02-18 11:36:04
【问题描述】:

我想抓取一些新西兰惠灵顿平均房屋租金的表格。惠灵顿的每个郊区都有单独的表格,每个表格都在自己的页面上。我遇到的问题是找到每个页面的地址,以便我可以抓取表格。

这是我正在开发的网站的链接http://www.dbh.govt.nz/market-rent?TLA=Wellington&RegionId=9。为了找到郊区页面的链接,我使用了 Google Chrome 中的查看页面源选项。然而,尽管可以点击每个郊区查看租金表,但 html 似乎没有提供链接;没有href。

谁能解释这些是没有href的链接?另外,有人知道找到每个郊区表的链接的方法吗?最终,我想使用遍历郊区 url 列表并使用 python 的 BeautifulSoup 模块来提取租金表。

亲切的问候, 亚历克斯

【问题讨论】:

    标签: web-scraping


    【解决方案1】:

    你是对的,它们不是“链接”,从这个意义上说,它们中没有 href 字段。每个“链接”实际上是一个<input> 类型submit 的元素。一种非常有趣(且非标准)的做事方式!

    这里有一些地方可以进一步了解 html 表单:

    您将能够通过引用父 <form> 元素(将包含 url 和提交“方法”(POST 或 GET))以及确定请求参数来为每个郊区表构建完整的 http 请求对于来自相应<input> 元素的每个“链接”。

    【讨论】:

    • 谢谢。我查看了链接,其中提供了一些很好的示例,说明如何编写生成表单的 HTML。您提到了 POST 和 GET。我找到了可以编写输入字段并使用 $_GET 重现输入的示例。作为用户,我可以访问 $_GET 吗?我想知道以用户而不是网页设计者的身份访问这些字段的内容。你介意给我指点一下吗?
    • 看起来你有一些阅读要做:)。我只能指点一下。不用担心 $_GET,它是服务器端 PHP,而不是客户端 python。您将希望通过解析表单数据并构建然后发送到服务器的 http 请求来模拟浏览器的操作。除非您已经知道,否则您将需要了解 http 尤其是 html 表单以及 python。您可能会发现这些有用:livecode.byu.edu/internet/aboutForms.php stackoverflow.com/questions/2081586/web-scraping-with-python docs.python.org/howto/urllib2.html
    • 谢谢。是的,我有很多阅读要做。我不熟悉搜索术语“客户端 python”。也感谢指向 urllib2 的指针,看起来正是我需要阅读的内容。
    • 我想我会为像我这样的新手发布一些资源。 Python 客户端 - wwwsearch.sourceforge.net/mechanize。 python 中的网络抓取示例 - polstat.org/blog/2012/1/scraping-web-python.
    猜你喜欢
    • 2015-10-11
    • 2019-03-18
    • 2021-08-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-29
    • 2021-06-28
    • 2020-06-30
    相关资源
    最近更新 更多