如何使用Beautiful Soup从特定的div类提取文本?

时间:2020-03-08 09:17:32

标签: python html web-scraping beautifulsoup

所以基本上我想提取其中的文本

<div class = "examplediv">
example text
</div>

我用过

url='https://sample.com'
headers={"User-Agent": 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36'}
page = requests.get(url, headers=headers)
soup = BeautifulSoup(page.content, 'html.parser')
data = soup.find("div", {"class":"examplediv"})
clean_data = data.text
print(clean_data)

但它绝不会在终端中返回“ None”。

我该怎么办?

1 个答案:

答案 0 :(得分:1)

尝试find_all代替find,以防万一如果重复相同的类名,那么您可能只是获得第一项。 find_all应该为您返回项目列表。否则,您可能正在处理class下的event,而JavaScript是通过requests加载的,而不会通过selenium模块呈现。在这种情况下,您将需要使用url或共享<?php $first_array = array(1,3,4,5,6); $second_array = array(5,2,1,7,9); $return = array(); foreach($first_array as $key => $value){ if($first_array[$key] > $second_array[$key]){ $return[] = $first_array[$key]; }else{ $return[] = $second_array[$key]; } } print_r($return); ,以便我们可以手动检查其他方法。