0

学习 Mechanize:我想浏览一个新闻站点,并且只关注链接中带有 a?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。

4

1 回答 1

2

查看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()
于 2012-12-03T02:00:07.663 回答