我正在尝试使用 BeautifulSoup 抓取页面。我想保留<p></p>
标签,以便以后将内容存储在 .xml 文件中,分为段落、标题等。不幸的是,结果有点出乎我的意料。这是它的样子:
为什么</p></p>最后这么多?我习惯了看起来像这样的结构:
<p>some paragraph... </p>
<p>next paragraph... </p>
不是这样的:
some paragraph... <p>
next paragraph... <p></p>
</p>
当我检查 Chrome 中的 HTML 结构时,一切看起来都很好:
为什么会这样?这是我的代码:
import os
import requests
from bs4 import BeautifulSoup
payload = {
'username': os.environ['POLITYKA_USERNAME'],
'password': os.environ['POLITYKA_PASSWORD'],
'login_success': 'http://archiwum.polityka.pl',
'login_error': 'https://archiwum.polityka.pl/art/grypa-nam
niestraszna,378836.html'
}
login_url = 'https://www.polityka.pl/sso/login'
base_url = 'http://archiwum.polityka.pl'
example_url = 'https://archiwum.polityka.pl/art/sciganie-
wnbsp;organach,378798.html'
with requests.Session() as session:
session.headers={'User-Agent' : 'Mozilla/5.0'}
post = session.post(login_url, data=payload)
request = session.get(example_url)
soup = BeautifulSoup(request.content, 'html.parser')
box = soup.find('div', {'id' : 'container'}).find('div', {'class' : 'middle'}).find('div', {'class', 'right'}).find('div', {'class' : 'box'})
content = box.find('p', {'class' : 'box_text'}).find_next_sibling()
print(content)
相关分类