Python BeautifulSoup4-从多个节/表中删除节/表标题和值

Python BeautifulSoup4-从多个节/表中删除节/表标题和值,python,web-scraping,beautifulsoup,Python,Web Scraping,Beautifulsoup,我正在尝试从以下页面中删除包含上下文信息的链接:。我可以通过使用Python的BS4很好地获得链接,但是拥有与链接相关的年份、季节、标题和剧集是非常理想的。所需的输出如下所示: 我从下面的代码开始,但不知道如何循环代码以在每个季节/标题的部分中捕获内容: import requests from bs4 import BeautifulSoup session = requests.Session() link = 'https://www.reddit.com/r/anime/wiki/

我正在尝试从以下页面中删除包含上下文信息的链接:。我可以通过使用Python的BS4很好地获得链接,但是拥有与链接相关的年份、季节、标题和剧集是非常理想的。所需的输出如下所示:

我从下面的代码开始,但不知道如何循环代码以在每个季节/标题的部分中捕获内容:

import requests
from bs4 import BeautifulSoup

session = requests.Session()

link = 'https://www.reddit.com/r/anime/wiki/discussion_archive/2018'

request_2018 = session.get(link, headers={'User-agent': 'Chrome'})
soup = BeautifulSoup(request_2018.content, 'lxml')

data_table = soup.find('div', class_='md wiki')
这是BS4可以做到的吗?谢谢你的帮助

编辑

criteria = {'class':'md wiki'} # so it can reuse later
data_soup = soup.find('div', criteria)
titles = data_soup.find_all('strong')
tables = data_soup.find_all('table')

请尝试以下操作:

titles = soup.find('div', {'class':'md wiki'}).find_all('strong')
data_tables = soup.find('div', {'class':'md wiki'}).find_all('table')

最好将
find
的第二个参数放入dict中,
find\u all
将返回与搜索匹配的所有元素。

最好将find的第二个参数放入dict中-为什么?它可以通过
soup.find('div',class='md wiki')
实现。但是如果你把它放在字典里,以后做更精确的
查找对你有好处。更重要的是,您可以将dict初始化为变量,并将其传递到不同的
find()
,以使代码更易于重用:)中。我认为你应该在答案中加入它来支持你的说法。是的,上面的答案已经更新了。我初始化了一个变量来存储
soup.find('div',criteria)
,以避免冗余代码。请让我看看:)