这很奇怪。我试图从<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
这样的无头浏览器有点令人沮丧,因为模块需要浏览器依赖(如果我错了,请纠正我)。
答案 0 :(得分:1)
你可以这样做:
import re
a = "<p> This is a text <\\/p>"
match = re.match("""^.*<p>(.*)<\\\\/p>.*$""", a).group(1)
print(match)