我有一个从网站animeka网站上抓取所有页面的web数据帧:
import pandas as pd
import requests
from bs4 import BeautifulSoup
for page_no in range(1, 467):
url = 'http://www.animeka.com/animes/~_{}.html'.format(page_no)
titles, studios, genres, durations = [], [], [], []
for page_no in range(1, 467):
url = 'http://www.animeka.com/animes/~_{}.html'.format(page_no)
r = requests.get(url)
soup = BeautifulSoup(r.text, 'html.parser')
for table in soup.find_all('table', class_='animesindex'):
td = table.find_all('td', class_='animestxt')
titles.append(td[1].text.split(':')[1])
studios.append(td[3].text.split(':')[1])
genres.append(td[4].text.split(':')[1])
durations.append(td[6].text.split(':')[1])
headers = ['Title', 'Studio', 'Genres', 'Duration']
df = pd.DataFrame(dict(zip(headers, [titles, studios, genres, durations])))
df = pd.DataFrame({'duration':df["Duration"], "genre" : df["Genres"], 'studio':df["Studio"], "titre" : df["Title"]})
我想得到他们为每个动漫设置的user_id和评级,但这是在“细节”小节中的图片,我不知道如何收集这些信息。
这是一个图片代码,其中等级是:
<img src="/animes/13498.png" width="400" height="100" alt="graph">
发布于 2018-03-01 01:05:56
可以使用find_previous
方法查找文档中位于特定标签之前的标签和字符串。
td[1].find_previous('td')
因此,如果您想提取图像的名称,可以尝试如下所示:
td[1].find_previous('td').img['src'].split('/')[-1]
https://stackoverflow.com/questions/49031894
复制相似问题