Я пытаюсь найти ключевое слово в любом индексе в списке и получить этот индекс.Я создал небольшой веб-скребок, использующий BeautifulSoup4 для очистки данных фанфиков.
Поскольку не во всех фанфиках перечислены жанры или символы, или даже дата обновления (если они были недавно опубликованы), вся информация будет отличатьсяindexes.
Поэтому мне нужно найти, скажем, «Words:» и получить индекс для всей строки, т.е. «Words: 1,854» == list [3] или что-то в этом роде, исохраните его как переменную words = list [3] для последующего вызова, чтобы потом поместить его в файл excel в правильных столбцах.Вот мой текущий скребок, в данный момент он настроен только на очистку одной страницы, просто уменьшите исходное значение «u», чтобы добавить больше страниц для очистки.
import requests
from bs4 import BeautifulSoup
# import time
# from random import randint
# import xlsxwriter
# import urllib3
# from tinydb import TinyDB, Query
total = 0
u = int(1127)
while u < 2000:
u = u+1
url = 'https://www.fanfiction.net/Naruto-Crossovers/1402/0/?&srt=1&lan=1&r=10&p=' + str(u)
page = requests.get(url)
soup = BeautifulSoup(page.content, 'html.parser')
raw = soup.find_all('div', class_='z-indent z-padtop')
for n in range(len(raw)):
stats = raw[n]
info = stats.div
text = info.text
formatted = text.split(' - ')
print(formatted[1:(len(formatted))])