Как я могу проверить, есть ли у сайта JavaScript или нет? - PullRequest
0 голосов
/ 24 июня 2019

Я создаю веб-браузер с использованием Beautifulsoup. Некоторые веб-сайты содержат содержимое javascript и не загружаются с использованием urllib3, поэтому я использую для них селен. Но селен слишком долго реагирует, и мне нужно построить более эффективный веб-браузер, так как мне нужно используйте один и тот же обобщенный скребок для нескольких сайтов. поэтому я думаю, что если есть какой-то способ узнать, есть ли на сайте только js-контент, то я буду использовать селен, иначе я пойду с более быстрым urllib

from selenium import webdriver
from bs4 import BeautifulSoup
import time

browser = webdriver.Chrome()

strt=time.time()
y=browser.get("https://www.amazon.jobs/en/locations/bangalore-india")
#time.sleep(10)
html = browser.page_source
soup = BeautifulSoup(html,'lxml')
li=soup.find_all('ul')
print(li)
print('load time='+str(time.time()-strt))

Ответы [ 2 ]

2 голосов
/ 24 июня 2019

Вот простая проверка с использованием селена

jsSize = (len(driver.find_elements_by_xpath("/html/head/script")))

if jsSize>0:
    print("Page contains javascript")
1 голос
/ 24 июня 2019

Тег script используется для определения клиентского скрипта (JavaScript).

Элемент либо содержит операторы скрипта, либо указывает на внешний файл скрипта через атрибут src.

Щелкните правой кнопкой мыши на веб-странице, которую хотите очистить >> Перейдите на страницу просмотра источника >>

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...