用硒增加抓取时间

Increase Scraping Time with selenium

提问人:Muhammad Nabeel 提问时间:11/17/2023 更新时间:11/17/2023 访问量:13

问:

我正在用 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 资源,它是否也有助于减少时间?

selenium-webdriver 网页抓取

评论


答: 暂无答案