当前位置: 首页 > 面试题库 >

使用BeautifulSoup在html中搜索字符串

范凡
2023-03-14
问题内容

我正在使用BeautifulSoup在特定页面上寻找用户输入的字符串。例如,我想查看字符串“
Python”是否位于页面上:http : //python.org

当我使用时: find_string = soup.body.findAll(text='Python') find_string返回[]

但是当我使用: find_string = soup.body.findAll(text=re.compile('Python'), limit=1)
find_string返回[u'Python Jobs']预期

这两个语句之间有什么区别,使得当要搜索的单词实例不止一个时,第二条语句可以工作


问题答案:

以下行正在寻找 确切的 NavigableString’Python’:

>>> soup.body.findAll(text='Python')
[]

请注意,找到以下NavigableString:

>>> soup.body.findAll(text='Python Jobs') 
[u'Python Jobs']

请注意以下行为:

>>> import re
>>> soup.body.findAll(text=re.compile('^Python$'))
[]

因此,您的正则表达式正在查找“ Python”的出现,而不是与NavigableString“ Python”的完全匹配。



 类似资料:
  • 问题内容: 我正在尝试从“关键统计信息”页面中获取有关Yahoo中的代码的信息(因为Pandas库中不支持此功能)。 AAPL示例: 编辑:谢谢安迪! 问题:这正在打印一个空数组。如何更改退货? 问题答案: 好吧,返回的列表为空的原因是因为该数据是通过单独的调用生成的,仅通过向该URL发送请求就无法完成。如果浏览Chrome / Firefox上的“网络”标签并按XHR进行过滤,则通过检查每个网络

  • 问题内容: 我无法在Elasticsearch中以特殊字符结尾/开头的字符进行搜索。就像“ 123456!” 我的映射是 它给我错误,我可以在搜索查询(或映射)中做什么,以便特殊字符将被视为搜索字符串的一部分? 问题答案: 由于您的字段是(好!),请尝试用双引号引起来进行完全匹配: 这样做的另一种方法是在查询中设置分析器(但请务必转义,因为它是保留字符(对于操作员)

  • 我希望typeahead.js在如何匹配项方面表现得像jqueryui autocomplete。使用jqueryui autocomplete可以在文本项中进行搜索。在typeahead中,它仅从字符串的开头开始。 自动完成示例:http://goo.gl/O43afF 提前键入示例:http://twitter.github.io/typeahead.js/examples/ 使用autoco

  • 本文向大家介绍在Java中搜索字符串中的字符。,包括了在Java中搜索字符串中的字符。的使用技巧和注意事项,需要的朋友参考一下 您可以使用String类的方法在字符串中搜索特定字母。此方法返回字符串中单词的位置索引(如果找到)。否则返回-1。 示例 输出结果

  • 本文向大家介绍使用MySQL搜索字符串中的特定字符?,包括了使用MySQL搜索字符串中的特定字符?的使用技巧和注意事项,需要的朋友参考一下 为此,请使用REGEXP。例如,字符J,A,V和A。让我们首先创建一个表- 使用插入命令在表中插入一些记录- 使用select语句显示表中的所有记录- 这将产生以下输出- 以下是使用MySQL在字符串中搜索字符的查询- 这将产生以下输出-

  • 问题内容: 弹性搜寻1.6 我想索引包含连字符的文本,例如U-12,U-17,WU-12,T恤…,并能够使用“简单查询字符串”查询来搜索它们。 数据样本(简体): 所以我去了这个映射: 使用以下查询进行搜索: 什么有效: “ U-12”,“ U ”,“ t ”,“ ts *” 什么不起作用: “ U-”,“ u-1 ”,“ t-”,“ t-sh ”,… 看来char过滤器未在搜索字符串上执行?我该