Python 2 Beautiful Soup,从所有标签中获取文本

Python 2 Beautiful Soup, get text from all tags

试图从所有具有 class task-topic-deprecated 的标签中获取文本,但我似乎只能获取一个。

不是 BeautifulSoup get_text from find_all 的副本 - 此问题使用多个 class 名称,因此工作语法略有不同,class_attrs={'class':'

源页面: https://developer.apple.com/documentation/cfnetwork?language=objc

输出将是上面页面上被删除的任何字符串:

CFFTPCreateParsedResourceListing
kCFFTPResourceGroup
...etc

find_next() 似乎没有像我期望的那样移动到下一个项目,并打印出我已经拥有的文本。

page = requests.get("https://developer.apple.com/documentation/cfnetwork?language=objc")
soup = BeautifulSoup(page.content, 'html.parser')

aRow = soup.find('a', attrs={'class':'task-topic-deprecated has-adjacent-element symbol-name'}).get_text()
print aRow
bRow = soup.find('a', attrs={'class':'task-topic-deprecated has-adjacent-element symbol-name'}).find_next().get_text()
print bRow
cRow = soup.find('a', attrs={'class':'task-topic-deprecated has-adjacent-element symbol-name'}).find_next().find_next().get_text()
print cRow


CFFTPCreateParsedResourceListing
CFFTPCreateParsedResourceListing
CFFTPCreateParsedResourceListing

我还尝试将它放在我在 Stack Overflow 上发现的各种东西的循环中,但它似乎仍然只能按照上面的方式抓取 1 个项目。

也尝试过使用 xPath,但这并没有抓取任何东西并打印出一个空白列表

tree = html.fromstring(page.content)
allItems = tree.xpath('//a[@class="task-topic-deprecated has-adjacent-element symbol-name"]/text()')
print allItems 

我认为你做错了而不是 find 你可以使用 find_all 方法来获得结果。

for i in soup.find_all('a', class_='task-topic-deprecated has-adjacent-element symbol-name'):
    print i.get_text()

可能这会有所帮助