[英]How do you search for a string in a BeautifulSoup object?
我正在检查 Craigslist 的帖子,看看它们是否已被标记为删除。 我的脚本非常简单:
import requests
from bs4 import BeautifulSoup
def check_if_flagged(url):
page = requests.get (url)
soup = BeautifulSoup(page.content, 'html.parser')
return ('flagged for removal' in soup)
问题是,我有一个 url,我知道一个事实已被标记为删除,但check_if_flagged
返回False
。 这是在 BeautifulSoup 对象中搜索子字符串的正确方法吗? 有没有更优化的方法? 如果您重现此错误,请告诉我。
这是供参考的网址:'https://newyork.craigslist.org/brk/apa/d/brooklyn-1-bedroom-1-bath-apt-located/7206865558.html'
要搜索汤中的文本,您可以使用text=
属性。 或者您可以将返回的 HTML 代码搜索为字符串:
import requests
from bs4 import BeautifulSoup
def check_if_flagged(url):
page = requests.get(url).text
return 'this posting has been flagged for removal' in page.lower()
def check_if_flagged2(url):
page = requests.get(url)
soup = BeautifulSoup(page.content, 'html.parser')
return bool(soup.find(text=lambda t: 'this posting has been flagged for removal' in t.lower()))
url = 'https://newyork.craigslist.org/brk/apa/d/brooklyn-1-bedroom-1-bath-apt-located/7206865558.html'
print(check_if_flagged(url))
print(check_if_flagged2(url))
印刷:
True
True
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.