美文网首页
Selenium加快爬取加载速度,控制图片加载,控制css加载,

Selenium加快爬取加载速度,控制图片加载,控制css加载,

作者: 木下瞳 | 来源:发表于2019-07-25 18:28 被阅读0次

了解更多关注微信公众号“木下学Python”吧~
原文:https://blog.csdn.net/zjkpy_5/article/details/83303391

1.加快Selenium爬取速度
控制css加载---
抓取过程仅仅抓取页面内容,CSS样式文件是用来控制页面外观和元素房子位置的,对内容并没有影响,可以限制

        网页加载CSS,从而减少抓取时间,代码如下:

    from selenium import webdriver

    f = webdriver.FirefoxProfile()
    f.set_preference("permissions.default.stylesheet",2)

    driver = webdriver.Firefox(firefox_profile = f)
    driver.get('https://www.douban.com/')

控制图片加载---
1)Firefox 如果不需要抓取图片可以禁止图片加载从而提高效率,代码如下:

      from selenium import webdriver

      f = webdriver.FirefoxProfile()
      f.set_preference("permissions.default.image",2)

      driver = webdriver.Firefox(firefox_profile = f)
      driver.get('https://www.douban.com/')

2)Chrome 的限制图片和JAVAscript

      import requests
      from selenium import webdriver

      options = webdriver.ChromeOptions()
      prefs = {
          'profile.default_content_setting_values': {
               'images': 2,
            'javascript': 2
            }
         }
      options.add_experimental_option('prefs', prefs)

      driver = webdriver.Chrome(chrome_options=options)
      driver.get('http://www.dianping.com/search/category/7/10/p1')
      driver.implicitly_wait(20)

控制JavaScript运行,如需要内容不是通过JavaScript动态加载得到的,可禁止加载从而提高效率代码如下:
from selenium import webdriver

       f = webdriver.FirefoxProfile()
       f.set_preference("javascript.enabled",False)

       driver = webdriver.Firefox(firefox_profile = f)
       driver.get('https://www.douban.com/')

不加载图片,加快访问速度

options.add_experimental_option("prefs", {"profile.managed_default_content_settings.images": 2})

相关文章

网友评论

      本文标题:Selenium加快爬取加载速度,控制图片加载,控制css加载,

      本文链接:https://www.haomeiwen.com/subject/isrkrctx.html