Я только начал использовать BeautifulSoup и столкнулся с препятствием в самом начале.Я просмотрел похожие посты, но не нашел решения своей конкретной проблемы, или есть что-то фундаментальное, чего я не понимаю.Моя цель - извлечь японские слова с их английскими переводами и примерами с этой страницы.
https://iknow.jp/courses/566921
и сохранить их в dataFrame или csv файле.
IЯ могу видеть анализируемый вывод и содержимое некоторых тегов, но всякий раз, когда я пытаюсь запросить что-то с интересующим меня классом, я не получаю результатов.Сначала я хотел бы получить список японских слов, и я подумал, что смогу сделать это с помощью:
import urllib
from bs4 import BeautifulSoup
url = ["https://iknow.jp/courses/566921"]
data = []
for pg in url:
r = urllib.request.urlopen(pg)
soup = BeautifulSoup(r,"html.parser")
soup.find_all("a", {"class": "cue"})
Но я ничего не получаю, даже когда я ищу поле ответа:
responseList = soup.findAll('p', attrs={ "class" : "response"})
for word in responseList:
print(word)
Я попытался спуститься по дереву, найдя детей, но не смог найти нужный текст.Буду благодарен за вашу помощь.Вот поля, которые я пытаюсь извлечь:
После большой помощи jxpython я наткнулся на новый вызов (возможно, этодолжна быть новая тема, но она довольно родственная, так что, возможно, здесь все в порядке).Моя цель - создать фрейм данных или CSV-файл, каждая строка которого содержит японское слово, перевод и примеры с транслитерацией.Со списками, созданными с использованием:
driver.find_elements_by_class_name()
driver.find_elements_by_xpath()
Я получаю списки с различным количеством элементов, поэтому невозможно легко создать кадр данных.
# len(cues) 100
# len(responses) 100
# len(transliterations)279 stramge number because some words don't have transliterations
# len(texts) 200
# len(translations)200
Списки транслитерации содержат смесьтранслитерации для отдельных слов и предложений.Я думаю, что для получения содержимого для заполнения первой строки моего фрейма данных мне нужно было бы перебрать содержимое
<li class="item">
(xpath? # / Html / body / div 2 / div / div / section / div / section / div / div / ul / li 1 ) и для каждого извлечения слова с переводом, предложениями и транслитерацией ... Я не уверен, будет ли этохотя лучший подход ...
Например, информация, которую я хотел бы иметь в первой строке моего кадра данных (из поля, выделенного на скриншоте):
行 く, い く, иди, я езжу в библиотеку по воскресеньям.Went っ た。, я ходил в бассейн во время летних каникул.