提问人:Muhammad Nabeel 提问时间:11/17/2023 更新时间:11/17/2023 访问量:13
用硒增加抓取时间
Increase Scraping Time with selenium
问:
我正在用 Selenium 进行抓取项目,我用 Selenium 做了很少的项目,我想知道,我如何减少抓取时间,我正在抓取一个网站,我的抓取器所做的是网页上有动态链接,它会抓取该页面,然后单击第一个链接,然后抓取该链接页面上的详细信息, 它大约需要 8-10 秒,但我需要在 3-4 秒内恢复,这可能吗? 我只需要获取第一个链接并通过单击它获取第一个链接的详细信息,这是我的代码:
def binance_new_listings(url, proxy_url=None):
data, links_list, article_list = [], [], []
driver = selenium_chrome_config(proxy_url)
url='https://www.binance.com/en/support/announcement/new-cryptocurrency-listing?c=48&navId=48'
try:
driver.get(url)
section = driver.find_elements(By.CSS_SELECTOR, 'section.css-14d7djd')[1]
listings = section.find_elements(By.CSS_SELECTOR, 'div.css-1tl1y3y')
a_tag = listings[0].find_element(By.TAG_NAME, 'a') # get first link
link = a_tag.get_attribute('href') # click on first link
driver.get(link) # scrape first link page
article_text = driver.find_element(By.CSS_SELECTOR, 'div.css-fbxu07').text
article_list.append(article_text)
return article_list, link
except Exception as e:
print("An error occurred {}".format(e))
return [], None
finally:
driver.quit()
def selenium_chrome_config(proxy_url=None):
browser_options = webdriver.ChromeOptions()
browser_options.add_argument("--headless")
browser_options.add_experimental_option(
"prefs", {
# block image loading
"profile.managed_default_content_settings.images": 2,
}
)
driver = Chrome(options=browser_options)
return driver
我可以进一步优化它,以便在 3-4 秒内获得结果吗,有什么建议吗? 另一个信息如果我部署在服务器上,如果我选择好的 cpu 资源,它是否也有助于减少时间?
答: 暂无答案
评论