2017-08-01 106 views
0

我想從網站上刮取文本(「顯示650個結果」)。Web抓取 - 使用BeautifulSoup和Python從類中獲取文本?

的我期待的結果是:

Result : Showing 650 results 

以下是HTML代碼:

<div class="jobs-search-results__count-sort pt3"> 
      <div class="jobs-search-results__count-string results-count-string Sans-15px-black-55% pb0 pl5 pr4"> 
       Showing 650 results 
      </div> 

Python代碼:

response = requests.get(index_url) 
    soup = BeautifulSoup(response.text, 'html.parser') 
    text = {} 
    link = "jobs-search-results__count-string results-count-string Sans-15px-black-55% pb0 pl5 pr4" 
    for div in soup.find_all('div',attrs={"class" : link}): 
     text[div.text] 
    text 

到目前爲止,它看起來像我代碼不起作用。

+0

您的代碼在語法上不正確。它爲什麼會起作用? – DyZ

回答

2
  1. 你不需要soup.find_all如果你正在尋找一個元素而已,soup.find作品一樣好

  2. 您可以使用tag.string/tag.contents/tag.text訪問內部文本


div = soup.find('div', {"class" : link}) 
text = div.string 
+0

甚至是'tag.text'! ps:儘管這是一種調用'.string'的老方式,它總是會返回我猜想的相同的東西。 ([*實際上取決於*](https://stackoverflow.com/questions/25327693/difference-between-string-and-text-beautifulsoup))=) –

+1

@ViníciusAguiar謝謝:] –

+0

我收到以下錯誤: 'NoneType'對象沒有屬性'文本' – David

相關問題