我想在源代码中搜索所有'1'并打印'1'的位置例如:<div id="yeahboy">1</div>
'1'可以被任何其他字符串替换。我想看看那个字符串周围的标签。Python 3 BeautifulSoup4搜索源页面中的文本
回答
考虑这个方面例如*:
from bs4 import BeautifulSoup
html = """<root>
<div id="yeahboy">1</div>
<div id="yeahboy">2</div>
<div id="yeahboy">3</div>
<div>
<span class="nested">1</span>
</div>
</root>"""
soup = BeautifulSoup(html)
您可以使用find_all()
传递parameter True
以表明你只想元素节点(而非子文本节点),并且parameter text="1"
以表明该元素你想必须有文本内容等于“1” - 或者你想搜索换任何其他文本:
for element1 in soup.find_all(True, text="1"):
print(element1)
输出:
<div id="yeahboy">1</div>
<span class="nested">1</span>
*)对于OP:对于未来的问题,尝试给出一个上下文,就像上面的上下文示例一样。这会让你的问题更具有具体的并且更容易回答 - 因为人们不需要自己创建环境,这可能与你实际拥有的环境无关。
事情是我不知道它们的位置,我想用脚本来找到它们全部 –
@bob上面的代码演示了如何在没有先验知识的情况下通过文本查找元素关于元素的位置。这个例子的任何问题? – har07
它确实有效,但有一个但是。如果文本包含所有字符串,它将起作用。如果我想查看一个字符串的一部分,它不起作用,例如:(这项工作)'从bs4导入请求 导入BeautifulSoup url ='http://www.editionsmosquito.com/exposition.php' r (true,text =“Expositions”): print(element1)'确实这个工作,但是当我这样做时: '= requests.get(url) '对于soup.find_all中的element1(True,text =“Expo”): print(element1)'即使是包含世博会的博览会,它也不打印它,你能帮助我吗? –
- 1. python 3 - 搜索文本文件 -
- 2. Python网页中的Python搜索脚本
- 3. UnicodeEncodeError在Python 3和BeautifulSoup4
- 4. SimpleML进一步搜索页面源
- 5. 在python中搜索文本行中的3位数字
- 6. BeautifulSoup4转换HTML实体(非打破空间?)之前,搜索(Python的3.X)
- 7. Python - 搜索文本文件
- 8. Python 3 - 在OOP中搜索
- 9. 的Python:在搜索文本
- 10. Python文本文件搜索
- 11. 从网页到文本文件的Python网页搜索列表
- 12. Python文本搜索问题
- 13. 像文档搜索页面
- 14. Python 3:搜索带有用户输入的文本文件?
- 15. Python遍历页面Google搜索
- 16. 对齐文本和搜索框的页面中,同时消除搜索按钮
- 17. 的Python 3 BeautifulSoup4从每个<tr>
- 18. Python中最快的文本搜索
- 19. Selenium网页中的文本搜索
- 20. Python - 用NLTK搜索文本
- 21. Python文件搜索脚本
- 22. 搜索HTML文本Python
- 23. 开源PHP搜索和分页脚本?
- 24. 分页搜索页面与搜索文本开始于单引号在php
- 25. BeautifulSoup4:与符号文本
- 26. 在Electron中搜索页面?
- 27. Python网页搜索
- 28. 将Android中的搜索界面链接到php搜索页面
- 29. 的Python,修改文本文件,搜索方面
- 30. Python的非严格搜索文本
你是指那个'1'*的位置是什么意思? – har07
@ har07I只是想打印源代码中所有'1'的位置1可以用任何其他字符串 –
来代替定义“位置”。你的意思是,你想打印容器元素:'