这很奇怪。我尝试从标签结尾为 <p>
的网站上抓取内容。是 <\\/p>
而不仅仅是</p>
。显然,每次我调用 soup.find_all('p')
,它不会返回任何值,而是 None。当我尝试 a
时没有任何问题或div
因为两者都是结构良好的标签 </a>
和</div>
分别是结束标签。我不知道如何解决这个问题。
from urllib.request import Request, urlopen
from bs4 import BeautifulSoup
url = 'http://www.gmanetwork.com/news/story/656223/money/economy/iphone-worries-weigh-on-wall-street'
page = urlopen(Request(url, headers={'User-Agent': 'Mozilla/5.0'}))
data = page.read()
soup = BeautifulSoup(data, 'html.parser')
print(soup.find_all('p'))
编辑
按照建议,我发现了像 Splinter
这样的 headless 浏览器有点令人沮丧,因为该模块需要浏览器依赖项(如果我错了,请纠正我)。
最佳答案
你可以这样做:
import re
a = "<p> This is a text <\\/p>"
match = re.match("""^.*<p>(.*)<\\\\/p>.*$""", a).group(1)
print(match)
关于python - 如果结束标记为 <\\/p>,如何获取 <p> 内的值列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50784900/