获取user_id,从webscraping图片评级

问题描述 投票:1回答:1

我从网站animeka网站抓取所有网页的数据框:

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">

image containing a rating

python pandas web-scraping beautifulsoup
1个回答
0
投票

您可以使用find_previous方法查找文档中特定标记之前的标记和字符串。

td[1].find_previous('td')

所以,如果你想提取图像的名称,你可以试试这个:

td[1].find_previous('td').img['src'].split('/')[-1]
© www.soinside.com 2019 - 2024. All rights reserved.