Извлечение дополнительных запросов контента Python - PullRequest
0 голосов
/ 16 февраля 2019

Я хочу извлечь сгенерированный контент с веб-страницы.

Я использую запросы к библиотеке в Python 3, чтобы вернуть страницу, как показано ниже

 import requests 
 url = "https://app.updateimpact.com/treeof/org.json4s/json4s- 
  native_2.11/3.5.2"

 html_doc = requests.get(url)
 print(html_doc.text)

Кажется, что извлечение текстабудь просто обивка хотя.На какие инструменты мне следует обратить внимание, чтобы углубиться в контент и извлечь из него информацию?

Ответы [ 2 ]

0 голосов
/ 16 февраля 2019

Javascript необходимо запустить на странице, чтобы обеспечить большую часть контента.Использование метода, такого как селен, позволит запустить это.Обратите внимание, что для загрузки определенного содержимого требуется дополнительное условие ожидания.Затем вы можете использовать синтаксис селена для извлечения информации или выгрузки html из page_source в BeautifulSoup.

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait 
from selenium.webdriver.support import expected_conditions as EC
from bs4 import BeautifulSoup as bs

d = webdriver.Chrome()
d.get('https://app.updateimpact.com/treeof/org.json4s/json4s-native_2.11/3.5.2')
dependencies = WebDriverWait(d, 5).until(EC.presence_of_element_located((By.CSS_SELECTOR , '.stats-list')))
print(dependencies)
soup = bs(d.page_source, 'lxml')
print(soup.select_one('#tree').text) # example
0 голосов
/ 16 февраля 2019

Если содержимое HTML, вы можете посмотреть:

Если это JSON, вы быиспользование:

...