爬取数据怎么才能更加顺利,IP不会被封?今天黑洞代理介绍给大家2个可以避免爬虫的时候IP被封的方法,希望可以有效帮助到大家开展爬虫工作。
第一种:
降低访问速度,我们可以使用time模块中的sleep,使程序每运行一次后就睡眠1s,这样的话就可以大大的减少IP被封的几率。
第二种:
为了提高效率,我们可以使用代理IP来解决,以下是代理配置过程的示例,看看具体的代码部分:
Selenium
from selenium import webdriver
import string
import zipfile
# 代理服务器
proxyHost = "t.16yun.cn"
proxyPort = "31111"
# 代理隧道验证信息
proxyUser = "username"
proxyPass = "password"
def create_proxy_auth_extension(proxy_host, proxy_port,
proxy_username, proxy_password,
scheme='http', plugin_path=None):
if plugin_path is None:
plugin_path = r'C:/{}_{}@t.16yun.zip'.format(proxy_username, proxy_password)
manifest_json = """ { "version": "1.0.0", "manifest_version": 2, "name": "16YUN Proxy", "permissions": [ "proxy", "tabs", "unlimitedStorage", "storage", "", "webRequest", "webRequestBlocking" ], "background": { "scripts": ["background.js"] }, "minimum_chrome_version":"22.0.0" } """
background_js = string.Template(
""" var config = { mode: "fixed_servers", rules: { singleProxy: { scheme: "
scheme",host:"", port: parseInt($) }, bypassList: ["foobar.com"] } };
chrome.proxy.settings.set(, function() {});
function callbackFn(details) { return { authCredentials: { username: "
username",password:"" } }; }
chrome.webRequest.onAuthRequired.addListener( callbackFn, , ['blocking'] ); """
).substitute(
host=proxy_host,
port=proxy_port,
username=proxy_username,
password=proxy_password,
scheme=scheme,
)
with zipfile.ZipFile(plugin_path, 'w') as zp:
zp.writestr("manifest.json", manifest_json)
zp.writestr("background.js", background_js)
return plugin_path
proxy_auth_plugin_path = create_proxy_auth_extension(
proxy_host=proxyHost,
proxy_port=proxyPort,
proxy_username=proxyUser,
proxy_password=proxyPass)
option = webdriver.ChromeOptions()
option.add_argument("--start-maximized")
# 如报错 chrome-extensions
# option.add_argument("--disable-extensions")
option.add_extension(proxy_auth_plugin_path)
driver = webdriver.Chrome(chrome_options=option)
driver.get(http://httpbin.org/ip)
代码部分的代理IP内容,大家可以自行填充自己购买的代理IP来使用即可,这样整段代码就可以直接拿来用了。
相关文章内容简介
1 如何避免爬虫时IP出状况?
爬取数据怎么才能更加顺利,IP不会被封?今天黑洞代理介绍给大家2个可以避免爬虫的时候IP被封的方法,希望可以有效帮助到大家开展爬虫工作。 第一种: 降低访问速度,我们可以使用time模块中的sleep,使程序每运行一次后就睡眠1s,这样的话就可以大大的减少IP被封的几率。 第二种: 为了提高效率,我们可以使用代理IP来解决,以下是代... [阅读全文]
最新标签
推荐阅读
31
2019-10
网络爬虫为什么会出现乱码?
代理IP让爬虫变得更加方便,降低了准入门槛,让很多人也开始学习如何编写爬虫程序。在爬虫的时候,会出现很多情况,黑洞代理跟大家分享当你的爬虫出现乱码如何解决。
07
2019-11
正向代理、反向代理的对比
代理服务器可以分为正向代理、反向代理,使用的时候,大家可能感受不出来具体有什么不同。但是这两种其实存在不少差异,使用场景也不一样。
31
2019-10
爬虫要怎么设计运行?
互联网时代,网络爬虫是常规操作了,比较常见的就有像搜索引擎蜘蛛,它通过每天抓取不同网站的信息,当用户进行搜索的时候,才能够进行返回有效信息。黑洞代理下面为大家介绍爬虫要怎
31
2019-10
Urllib库怎么使用?
用pyhton来进行爬虫是很多爬虫工作者的选择,大数据在各行各业都发挥着作用,企业也对数据分析给予更多的关注,黑洞代理今天给大家介绍Urllib库的使用。
热门文章
在线咨询
客户经理
公众号
关注公众号,免费领试用
大客户