【发布时间】: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))
【问题讨论】:
-
95% 的网站使用 JavaScript - w3techs.com/technologies/details/cp-javascript/all/all
-
你可以使用scrapy和splash请求来渲染JS
-
仅供参考,我检查了您要抓取的网页,它包含 JavaScript。
标签: javascript python selenium web-scraping beautifulsoup