Веб-очистка содержимого JavaScript с использованием Python

#javascript #python-3.x #web-scraping

#javascript #python-3.x #веб-очистка

Вопрос:

Я пытаюсь получить данные «ИСТОРИИ ПРОДАЖ» из здесь .

Поскольку данные поступают из JavaScript, я перешел по этой ссылке и попытался очистить данные. Однако, когда я запускаю приведенный ниже код, в новом окне веб-страница отображается неправильно.

Я был бы признателен, если бы вы могли посоветовать, как получить данные в этом случае.

 # import libraries
import urllib.request
from bs4 import BeautifulSoup
from selenium import webdriver
import time
import pandas as pd
# specify the url
urlpage = 'https://nonfungible.com/market/history/axieinfinity' 
print(urlpage)
# run Chrome webdriver from executable path of your choice
driver = webdriver.Chrome(executable_path = r'C:UserstreyAppDataLocalProgramsPythonPython36Scriptschromedriver')
  

Я ожидаю вывод набора данных, который содержит столбцы Contract / Transaction hash / Продавец / Покупатель / Имя / Дата рождения.

Ответ №1:

Вам не нужно очищать сайт, чтобы получить данные истории продаж, поскольку вы можете получить их из их конечной точки JSON API.

Вот ссылка на конечную точку с веб-страницы, которую вы опубликовали:

https://api.nonfungible.com/api/v3/project/list

Вы можете использовать библиотеку Python JSON для извлечения нужных вам данных. Чтобы определить, есть ли на сайте доступный JSON API, используйте сетевой монитор из консоли разработчика вашего браузера, чтобы найти запросы XHR, отправленные на сайт, и проверить, содержит ли он требуемые данные. Это имело бы больше смысла, чем очистка HTML / JS.

Комментарии:

1. На самом деле я попробовал ссылку, но смог получить только 100 данных. Вот почему я пытаюсь очистить с помощью Python

2. Если вы используете навигатор для проверки большего количества данных, вы обнаружите, что загружается больше конечных точек. например, этот: api.nonfungible.com/api/v3/market/history /…

3. Попробуйте манипулировать параметрами length и start, чтобы получить требуемое количество записей.

4. Используя эту ссылку, вы можете получить 800 результатов, например: api.nonfungible.com/api/v3/market/history /…

5. Я установил длину как 10000, но получил только 100