【发布时间】:2019-01-22 05:30:06
【问题描述】:
试图从所有具有task-topic-deprecated 类的标签中获取文本,但我似乎只能得到一个。
不是 BeautifulSoup get_text from find_all 的重复 - 此问题使用多个类名,因此工作语法略有不同,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
【问题讨论】:
标签: python parsing beautifulsoup python-2.x