【问题标题】:How can I check whether a website has javascript or not?如何检查网站是否有 javascript?
【发布时间】:2019-06-24 10:23:27
【问题描述】:

我正在使用 beautifulsoup 构建一个 webscraper。一些网站有 javascript 内容并且不使用 urllib3 加载,因此我为它们使用 selenium。但是 selenium 响应时间太长,我需要构建一个更高效的 webscraper,因为我需要对多个网站使用相同的通用刮板。因此我在想是否有某种方法可以找出网站是否只有 js 内容然后才使用 selenium 否则我将使用更快的 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))

【问题讨论】:

标签: javascript python selenium web-scraping beautifulsoup


【解决方案1】:

这是使用 selenium 进行的简单检查

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

if jsSize>0:
    print("Page contains javascript")

【讨论】:

    【解决方案2】:

    script 标签用于定义客户端脚本 (JavaScript)。

    元素要么包含脚本语句,要么通过 src 属性指向外部脚本文件。

    在你要抓取的网页上右键>>查看页面源>>

    查找名为 script 的标签,脚本标签将表明您尝试抓取的网页也包含 JavaScript。

    【讨论】:

    • 是的,但我希望它自己从 selenium 或 urllib 中选择并找到我需要的 html 标记的脚本标记,我只能从 urllib 或 selenium 获得
    猜你喜欢
    • 2011-07-23
    • 2014-01-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-15
    • 2014-05-13
    • 1970-01-01
    相关资源
    最近更新 更多