我正在创建一个Python网络抓取工具,并打印出我输入的网页的title
和span
。我一直在环顾四周,但是找不到网页的其他元素。
Python是否可以使用bs4
/ BeautifulSoup
/ requests
访问网站的其他部分?
我找到了一个head
元素,但是我敢肯定还有更多元素。
答案 0 :(得分:2)
Here是您可以找到的HTML标签的列表。在bs4中,通常使用find
或findAll
方法来刮取页面。这些函数的第一个参数是您要搜索的标签的名称。以下是一些使用findAll方法的示例:https://www.crummy.com/software/BeautifulSoup/bs3/documentation.html#The%20basic%20find%20method:%20findAll(name,%20attrs,%20recursive,%20text,%20limit,%20**kwargs)
(Stackoverflow不允许我将链接粘贴为超链接)
或者,您也可以像这样遍历文档树:
def walker(soup):
if soup.name is not None:
for child in soup.children:
#process node
print str(child.name) + ":" + str(type(child))
walker(child)
walker(soup)
摘自:http://makble.com/parsing-and-traversing-dom-tree-with-beautifulsoup
在深度优先搜索中,它从根<html>
遍历树中的每个节点。这是通过递归地查看每个节点的孩子,然后是孩子的孩子,依此类推。