微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

scrapy+selenium速度慢修改

1、修改配置

CONCURRENT_REQUESTS = 32
DOWNLOAD_DELAY = 0.5
CONCURRENT_REQUESTS_PER_DOMAIN = 1000000
https://blog.csdn.net/q_an1314/article/details/51245011

2、加入PhantomJS

1. 启动Chrome毕竟是图形化的界面, 肯定是会消耗大量内存和cpu 
2. phantomjs正是一款没有界面的浏览器但是还是同样能完成浏览器的渲染。这样如果我们的操作系统是没有界面的linux服务器上,phantomjs就大有用途了。
3. phantomjs提供的设置项多, 比如可以设置忽略images的请求减少网络请求数

phantomjs是一款浏览器, selenium就当然能像操作Chrome一样很简单的操作phantomjs了。

from selenium import webdriver
browseDriver = webdriver.Phantomjs(executable_path="Phantomjs的驱动路径")
browseDriver.get('https://www.baidu.com')
print(browseDriver.page_source)
print(browseDriver.current_url)

/article/17119/
https://www.jianshu.com/p/275eeaaf4a81
but:新版selenium不再支持PhantomJS
把原来的chrome驱动设为无头模式

from selenium import webdriver
#导入chrome选项
from selenium.webdriver.chrome.options import Options
import time 
 
#****************配置驱动************************
path =r'C:\Users\Administrator.USER-20181127IL\Desktop\chromedriver.exe'
 
# 创建chrome浏览器驱动,无头模式)
chrome_options = Options()
chrome_options.add_argument('--headless')
browser = webdriver.Chrome(executable_path=path, options=chrome_options)
 
#****************开始操作浏览器********************
 
url = 'http://www.baidu.com/'
browser.get(url)
time.sleep(3)
 
# 打印页面标题 "百度一下,你就知道"
print(browser.title)
 
# 关闭浏览器
browser.quit()

突然一下快了很多
https://blog.csdn.net/plumber2333/article/details/86318075
https://blog.csdn.net/weixin_38892128/article/details/88086816

from selenium import webdriver
from time import sleep
#实现无可视化界面
from selenium.webdriver.chrome.options import Options
#实现规避检测
from selenium.webdriver import ChromeOptions

#实现无可视化界面的操作
chrome_options = Options()
chrome_options.add_argument('--headless')
chrome_options.add_argument('--disable-gpu')

#实现规避检测
option = ChromeOptions()
option.add_experimental_option('excludeSwitches', ['enable-automation'])

#如何实现让selenium规避被检测到的风险
bro = webdriver.Chrome(executable_path='./chromedriver',chrome_options=chrome_options,options=option)

#无可视化界面(无头浏览器) phantomJs
bro.get('https://www.baidu.com')

print(bro.page_source)
sleep(2)
bro.quit()

https://blog.51cto.com/13760351/2519813

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐