我试图通过以下页面抓取与上下文信息的链接:https://www.reddit.com/r/anime/wiki/discussion_archive/2018。我可以使用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可以实现的吗?谢谢你的帮助!
答案 0 :(得分:0)
修改强>
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_all
将返回与您的搜索匹配的所有元素。