正如上面提到的标题,我正在做网页抓取,我不知道如何在main_paragraphs函数中排除另一个div中的div:
import requests
from bs4 import BeautifulSoup
def scrape_minimalism():
base_url = "https://www.theminimalists.com/minimalism/"
response = requests.get(base_url)
if response.status_code == 200:
soup = BeautifulSoup(response.text, 'html.parser')
title = soup.find('h1', class_='entry-title').text.strip()
print('\n', title)
main_paragraphs = soup.find('div', class_='entry-content').find_all('p', class_=lambda x: x != 'ymae')
main_pcontent = '\n'.join(paragraph.text.strip() for paragraph in main_paragraphs)
print('\n', main_pcontent)
scrape_minimalism()
我的目标是排除另一个更大的div
容器class = 'entry-content'
下的class = 'ymae'
这里的问题是,class 'entry-content'
以下的网页的段落是未排序的,并且由于它没有其他容器,因此难以从中提取数据.所以这就是为什么它还包括另一个子div 'ymae'
我试着做extract()
或x.get
和x.split