2017-03-01 13 views
0

私はPythonには新しく、クローラをコード化しようとしていますが、私の問題はコンソールに表示することを目標としているhrefリンクを取得できないことです。どんな助けもありがとうございます。下記をご覧ください。Pythonクローラの問題

import requests 
from bs4 import BeautifulSoup 

def trade_spider(max_pages): 
    page = 1 
    while page <= max_pages: 
     url = 'http://www.rent.ie/houses-to-let/renting_dublin/page_'+ str(page) 
     source_code = requests.get(url) 
     plain_text = source_code.text 
     soup = BeautifulSoup(plain_text) 
     special_divs = soup.findAll('div', {'class':'search_result_title_box'}) 
     for link in special_divs: 
      gold = link.findAll('a') 
      for link in gold: 
       href = gold.get(link['href']) 
       print(href) 
     page += 1 

trade_spider(3) 

答えて

1

私はあなたがsearch_result_title_boxクラス、私はsearch_resultクラスを持つ要素内のリンクを見つけたいことがわかってきた場所がわからないんだけど。次のコードは、私の作品:

import requests 
from bs4 import BeautifulSoup 


def trade_spider(max_pages): 
    """Docstring here.""" 

    with requests.Session() as session: 
     session.headers = {"User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36"} 

     for page in range(1, max_pages): 
      url = 'http://www.rent.ie/houses-to-let/renting_dublin/page_{page}'.format(page=page) 
      response = session.get(url) 

      soup = BeautifulSoup(response.content, "html.parser") 
      for link in soup.select(".search_result h2 > a[href]"): 
       print(link["href"]) 

if __name__ == '__main__': 
    trade_spider(3) 

注以下の改善:

+0

ありがとう、完璧な作品! – Dom