【问题标题】:Mechanize: Only following links with certain element in URL机械化:仅跟随 URL 中带有特定元素的链接
【发布时间】:2012-12-03 01:55:30
【问题描述】:

学习机械化: 我想浏览一个新闻网站,只关注链接中包含?sid 的链接。 我似乎在 Mechanize 文档上找不到太多内容。

import mechanize
br = mechanize.Browser()
response = br.open("http://www.ksl.com")
target_url = 'http://www.ksl.com/?sid=23201788&nid=711&title=vampire-on-the-loose-in-serbia'

for link in br.links():
    print link.text, link.lurl

这就是我现在所拥有的。我希望 Mechanize 转到 KSL 的主页,打开每个链接,在 URL 中使用 ?sid,然后在该 URL 中搜索目标 URL。然后返回,继续搜索页面上的不同链接。在首页的末尾,底部有一个“页码”,可以追溯到很远,所以我需要它转到“下一页”以扫描更多链接......所以我想看看哪个故事中包含目标 URL。

【问题讨论】:

    标签: python beautifulsoup urllib2 mechanize


    【解决方案1】:

    查看urlparse

    >>> from urlparse import urlparse
    >>> target_url = 'http://www.ksl.com/?sid=23201788&nid=711&title=vampire-on-the-loose-in-serbia'
    >>> parsed_url = urlparse(target_url)
    >>> parsed_url
    ParseResult(scheme='http', netloc='www.ksl.com', path='/', params='', query='sid=23201788&nid=711&title=vampire-on-the-loose-in-serbia', fragment='')
    >>> if 'sid=' in parsed_url.query:
    ...     do_something()
    

    【讨论】:

      猜你喜欢
      • 2013-01-07
      • 1970-01-01
      • 2011-02-02
      • 1970-01-01
      • 1970-01-01
      • 2011-04-02
      • 1970-01-01
      • 1970-01-01
      • 2020-10-23
      相关资源
      最近更新 更多