2017-03-01 64 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