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