2016-10-04 75 views
-2
from bs4 import BeautifulSoup 
from pprint import pprint 
import requests 

url = "http://chk.tbe.taleo.net/chk01/ats/careers/searchResults.jsp?org=CDI&cws=1" 

response = requests.get(url) 

soup = BeautifulSoup(response.text, "html.parser") 

table_main = soup.select("table#cws-search-results") 

table = table_main.find_all("tr") 

for tr in table: 
    job_title = tr.find_all("a") 
    job_location = tr.find_all("b") 

    job = { 
     "job_title": job_title, 
     "job_location": job_location 
    } 
    data.append(job) 

pprint(jobs) 
+0

任何人都可以幫助我嗎? –

+0

這是一個非常明顯的錯誤,一個簡單的打印可以幫助你弄清楚。 –

回答

2

因爲soup.select("table#cws-search-results")是返回Tag對象(在這種情況下,1項列表)的列表,你得到一個錯誤,而不是一個單一的Tag對象, find_allTag對象不是Python list對象的方法。

變化:

table_main = soup.select("table#cws-search-results") 

到:

table_main = soup.select_one("table#cws-search-results") 

得到Tag對象表示主表,然後在該對象上調用find_all會正常運行。

+0

謝謝!錯誤消失了。但是輸出看起來是錯誤的: {'job_location':'達拉斯,德克薩斯州','job_title':'客戶主任','job_title' } 我該怎麼做? –

相關問題