在windows系統中,如果無法直接連接互聯網,需要使用代理時該怎麽做呢?

 

1. 在powershell中設置proxy

  背景:使用公司電腦,無法直接訪問互聯網,想要訪問互聯網就得使用代理,但是在控制面板中設置代理的選項被禁用,個人又具有管理員權限的。

  解決方法:

    在powershell中或cmd中先運行以下命令:
      1)http proxy:  set http_proxy=http://host:port

      2)https proxy:  set https_proxy=https://host:port

2. 針對Scrapy使用代理的方法

  背景:僅僅是為了使Scrapy運行中訪問互聯網時使用代理(實質上是使Scrapy中的DownloaderMiddleware部分使用代理)

  解決方法:

    方法一: 先在powershell中先運行1中的命令,然後再啓動Scrapy程序;

    方法二: 在Scrapy中設置,僅對Scrapy生效:

         1)在setting.py中啓用HttpProxyMiddleware,如下:     

DOWNLOADER_MIDDLEWARES={
'scrapy.downloadermiddlewares.httpproxy.HttpProxyMiddleware':1
}

         2) 通過request.meta進行proxy:   

request=Request(url="http://example.com")
requests.meta['proxy']='host:port'
yield request

           3) 若想要隨機使用多個proxy時:

 1 Class MySpider(BaseSpider):
2 name = "my_spider"
3 def __init___(self,*args,**kwargs):
4 super(MySpider,self).__init__(*args,**kwargs)
5 self.proxy_pool=['proxy_address1','proxy_address2',...,'proxy_addressN']
6
7 def parse(self,response):
8 if something:
9 yield self.get_Request(url)
10
11 def get_request(self,url):
12 req=Request(url=url)
13 if self.proxy_pool:
14 req.meta['proxy'] = random.choice(self.proxy_pool)
15 return req

    方法三:創建代理文件,專門用於設置代理

      1)在scrapy project中創建文件 middlewares.py,寫入以下代碼:

 1 import base64
2 class ProxyMiddleware(object):
3 #overwrite process request
4 def process_request(self,request,spider):
5 #Set the location of the proxy
6 request.meta['proxy']="http://proxy_ip:port"
7
8 #use the followig lines if your proxy requires authentication
9 proxy_user_pass="Username:Password"
10 #setup basic authentication for the proxy
11 encoded_user_pass = base64.encodestring(proxy_user_pass)
12 request.headers['Proxy-Authorization'] = 'Basic' +encoded_user_pass

      2)設置setting.py

1 DOWNLOADER_MIDDLEWARES = {
2 'scrapy.contrib.downloadermiddleware.httpproxy.HttpProxyMiddleware': 110,
3 'project_name.middlewares.ProxyMiddleware': 100,
4 }

    

      

 

無法直接連接互聯網,需要使用代理時(Scrapy)的更多相关文章

  1. 何解決 LinqToExcel 發生「無法載入檔案或組件」問題何解決 LinqToExcel 發生「無法載入檔案或組件」問題

    在自己的主機上透過 Visual Studio 2013 與 IISExpress 開發與測試都還正常,但只要部署到測試機或正式機,就是沒辦法順利執行,卡關許久之後找我協助.我發現錯誤訊息確實很「一般 ...

  2. win2003的IIS無法使用,又一次安裝提示找不到iisadmin.mfl文件

    我的系統是win2003 繁體版 sp2,現在iis無法使用,我同事的也是,也不知道是不是跟在網域中有關係,因為我用虛擬機的繁體系統win2003 R2版iis能够正常使用,不過曾经那台電腦也是在網域 ...

  3. [转]SQL Server 安全性概論與無法刪除資料庫使用者的解決辦法

    經常有人來問我特定 SQL Server 資料庫裡的使用者無法刪除的問題,這問題其實跟 SQL Server 的安全性架構有很大關係,解決這個問題當然還是瞭解觀念的重要性大於知道如何解決問題.除了講解 ...

  4. [转]解決 IE10 瀏覽器無法使用 ASP.NET 表單驗證登入的問題

    今天凌晨在客戶端上線,當程式佈署到正式機後發現我們的網站唯獨只有 IE10 瀏覽器無法成功登入,任何其他瀏覽器版本或使用較低的 IE 版本都可以正常登入,使用 IE 相容性檢視也都可以正常登入,想說會 ...

  5. 物聯網安全黑客松 IoT Security and Privacy Hackathon

    感覺這次黑客松的程度屬於初階,但是節奏很快,內容緊湊.概念部分解說較多,以致實驗時間縮短,有些只能看demo有點遺憾.幸好有video-taped,事後回溯可以看看能不能replicate實驗.總體而 ...

  6. 在 React Native 中使用 moment.js 無法載入語系檔案

    moment.js 是很常見的日期時間 library,友善的 API 與極佳的執行效率是它的兩大賣點.例如 (new Date()).getFullYear(),如果使用 moment.js 我可以 ...

  7. 修正 Memo 設定為 ReadOnly 後, 無法有複製的功能

    问题:当 Memo 設定為 ReadOnly = True 後, 选取一段文字后,無法有複製的功能. 适用:XE6 Android 系统(目前 iOS 还找不到方法) 修正方法: 请将源码 FMX.P ...

  8. C#-Windows服務以LocalSystem賬戶安裝的話無法獲取我的文檔路徑

    如圖,如果Window服務以上圖 Account安裝運行,則無法獲取到 以下路徑: System.Environment.GetFolderPath(Environment.SpecialFolder ...

  9. 微信小程序wxml無法實現頁面跳轉的問題

    wxml的 navigator的url設置后無法跳轉? 檢查要跳轉的頁面是否是在APP.json的tabBar里註冊過,如果是tabBar頁面是不能用wx.navigateTo和wx.Redirect ...

随机推荐

  1. 第十章 Seata--分布式事务

    承接上篇 ,终于我们迎来了最后一章 第九章 Nacos Config–服务配置,第十章 Seata–分布式事务,感谢你能学习到这 !废话不多说,撸码 10.1 分布式事务基础 10.1.1 事务 事务 ...

  2. Python进阶学习_连接操作Redis数据库

    安装导入第三方模块Redis pip3 install redis import redis 操作String类型 """ redis 基本命令 String set(n ...

  3. iOS 集成友盟分享图片链接为http时无法加载问题解决

    一.问题描述 UMShareWebpageObject *obj = [UMShareWebpageObject shareObjectWithTitle:title descr:shareText ...

  4. Core3.0使用Swagger接口文档

    前言 此方法为百度搜索结果,原文链接找不到了 步骤 1.引用Nuget Swashbuckle.AspNetCore 2.Startup.cs配置 //注册swagger服务,定义1个或者多个swag ...

  5. Jenkins自动化部署服务器及git 提交及git tag标签版本更新流程,超详细!

    工作中部署的项目和服务器较多时就用上了Jenkins进行自动部署 优点 不用在连接单独的服务器进行更新项目,再启动项目服务的操作了 更新部署都是自动的,比较方便.适合大批量的部署 一.git流程部分 ...

  6. JavaEE在职加薪课好客租房项目实战视频教程

    JavaEE在职加薪课好客租房项目实战视频教程课程介绍:       本课程采用SOA架构思想进行设计,基于目前主流后端技术框架SpringBoot.SpringMVC.Mybaits.Dubbo等来 ...

  7. Weblogic命令执行漏洞(CVE-2018-2628)复现

    一.漏洞环境搭建 CVE-2018-2628影响的软件版本为: Weblogic 10.3.6.0 Weblogic 12.1.3.0 Weblogic 12.2.1.2 Weblogic 12.2. ...

  8. 配置简单的拦截器java中

    springMVC.xml文件中==== <!-- 拦截器 --> <mvc:interceptors> <mvc:interceptor> <mvc:map ...

  9. 一个简单的java项目使用hibernate连接mysql数据库

    实体类与表对应文件Customer.hbm.xml <?xml version="1.0" encoding="UTF-8"?><!DOCTY ...

  10. .NET 5 源代码生成器——MediatR——CQRS

    在这篇文章中,我们将探索如何使用.NET 5中的新source generator特性,使用MediatR库和CQRS模式自动为系统生成API. 中介者模式 中介模式是在应用程序中解耦模块的一种方式. ...