python
  • beautifulsoup
  • urllib2
  • mechanize
  • 2012-12-03 93 views 0 likes 
    0

    學習機械化: 我想通過一個新聞網站爬行,只有鏈接有一個?sid在鏈接.. 我似乎無法找到太多的機械化文檔。機械化:只有以下鏈接與URL中的某些元素

    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。然後返回,並繼續搜索頁面上的不同鏈接。在首頁的末尾有一個「頁碼」,底部可以追溯到很遠的地方,所以我需要它轉到「下一頁」來掃描更多鏈接....所以我想看看哪個故事中包含目標網址。

    回答

    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() 
    
    相關問題