簡體   English   中英

為什么這個使用請求包的python網絡抓取代碼不起作用?

[英]Why is this python web scraping code using requests package not working?

import lxml.html  
import requests  
l1=[]  
headers= {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36'}  
r = requests.get('http://www.naukri.com/jobs-by-location', headers=headers)    
html = r.content  
root = lxml.html.fromstring(html)  
urls = root.xpath('//div[4]/div/div[1]/div/a/@href') #This xpath should give the list of cities(their links)  
l1.extend(urls)     

這個python代碼是為了抓取工作城市列表(他們的'a href'標簽)並將其存儲在列表l1中。 但在這里我得到一個空白列表。 相同的 xpath 在 Chrome 控制台上運行,但在此代碼中不起作用。 因此,我添加了標題以使我的代碼充當瀏覽器,但仍然無法正常工作..

http://i.stack.imgur.com/Xx1xW.jpg

我嘗試使用 Selenium WebDriver 實現相同的目標,這也成功了。 當這在您的計算機上成功時,可能是使用的庫之一出現問題。

import selenium.webdriver as driver

browser = driver.Chrome()
browser.get("http://www.naukri.com/jobs-by-location")
links = browser.find_elements_by_xpath("//div[4]/div/div[1]/div/a")
for link in links:
    href = link.get_attribute("href")
    print(href)
browser.quit()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM