Python 如何只抓取同一类中的特定标记?

Python 如何只抓取同一类中的特定标记?,python,html,web-scraping,beautifulsoup,Python,Html,Web Scraping,Beautifulsoup,我正在创建这个程序,它允许我从这个网站上刮取所有角色的名字和能力。包含我需要的信息的标签(li)与其他不需要的li标签混合在一起 我试过选择不同的课程,但那不起作用 这是我的密码: import bs4, requests, lxml, re, time, os from bs4 import BeautifulSoup as soup def webscrape(): res = requests.get('https://www.usgamer.net/articles/15-11

我正在创建这个程序,它允许我从这个网站上刮取所有角色的名字和能力。包含我需要的信息的标签(li)与其他不需要的li标签混合在一起

我试过选择不同的课程,但那不起作用

这是我的密码:

import bs4, requests, lxml, re, time, os
from bs4 import BeautifulSoup as soup

def webscrape():
    res = requests.get('https://www.usgamer.net/articles/15-11-2017-skyrim-guide-for-xbox-one-and-ps4-which-races-and-character-builds-are-the-best')
    soup = bs4.BeautifulSoup(res.text, 'lxml')
    races_list = soup.find_all("li < strong")
    races_list_text = [f.text.strip() for f in races_list]
    print(races_list_text)
    time.sleep(1)
webscrape()
导入bs4、请求、lxml、re、时间、操作系统
从bs4进口美汤作为汤
def webscrape():
res=requests.get('https://www.usgamer.net/articles/15-11-2017-skyrim-guide-for-xbox-one-and-ps4-which-races-and-character-builds-are-the-best')
soup=bs4.BeautifulSoup(res.text,“lxml”)
种族列表=汤。查找所有(“li

预计它将打印出所有比赛及其相应的信息。

您可以使用以下命令

import requests
from bs4 import BeautifulSoup as bs

r = requests.get('https://www.usgamer.net/articles/15-11-2017-skyrim-guide-for-xbox-one-and-ps4-which-races-and-character-builds-are-the-best')
soup = bs(r.content, 'lxml')

#one  list of tuples
race_info = [ (item.text, item.next_sibling) for item in soup.select('h2 ~ ul strong')]
# separate lists
races, abilities = zip(*[ (item.text, item.next_sibling) for item in soup.select('h2 ~ ul strong')])
在这种情况下,字典可能会更好

race_info = [ (item.text, item.next_sibling) for item in soup.select('h2 ~ ul strong')]
race_info = dict(race_info)
~
是一个:

~combinator选择兄弟姐妹。这意味着第二个元素 紧跟在第一个之后(虽然不一定马上),而且双方都有共同的利益 同一个父母


您可以使用以下命令

import requests
from bs4 import BeautifulSoup as bs

r = requests.get('https://www.usgamer.net/articles/15-11-2017-skyrim-guide-for-xbox-one-and-ps4-which-races-and-character-builds-are-the-best')
soup = bs(r.content, 'lxml')

#one  list of tuples
race_info = [ (item.text, item.next_sibling) for item in soup.select('h2 ~ ul strong')]
# separate lists
races, abilities = zip(*[ (item.text, item.next_sibling) for item in soup.select('h2 ~ ul strong')])
在这种情况下,字典可能会更好

race_info = [ (item.text, item.next_sibling) for item in soup.select('h2 ~ ul strong')]
race_info = dict(race_info)
~
是一个:

~combinator选择兄弟姐妹。这意味着第二个元素 紧跟在第一个之后(虽然不一定马上),而且双方都有共同的利益 同一个父母


您应该包括一些示例html,其中包含您想要的标记和您想要排除的标记。您的意思是什么?我已经说明了我需要的标记。我的意思是,你应该包括一个你正在解析的html样本,这样我们就可以测试你的解决方案和我们可能提出的任何解决方案。最好是示例html将有您想要保留的标记和一些您想要排除的标记-我们可以从您的问题中复制。。请阅读我的特别问题,它有点难显示的关键部分,它真的最好的人看看它自己。你应该包括一些例子html,有你想要的标签和你想要排除的标签。你是什么意思?我已经说明了我需要的标记。我的意思是,你应该包括一个你正在解析的html样本,这样我们就可以测试你的解决方案和我们可能提出的任何解决方案。最好是示例html将有您想要保留的标记和一些您想要排除的标记-我们可以从您的问题中复制。。请阅读我的特别问题,它有点难显示的关键部分,它真的最好的人看看自己。