鱼C论坛

 找回密码
 立即注册
查看: 2669|回复: 5

requests代理使用问题

[复制链接]
发表于 2017-7-7 20:43:50 | 显示全部楼层 |阅读模式
5鱼币
  1. import requests

  2. url = "http://1212.ip138.com/ic.asp"

  3. proxies = {
  4.     "http":"http://59.54.226.36:8118",
  5.     "https": "http://60.212.161.248:53281",
  6.     "https": "http://153.34.111.54:53281"
  7. }

  8. req = requests.get(url,proxies=proxies)
  9. req.encoding = "gb2312"
  10. print(req.encoding)
  11. html = req.text
  12. print(html)
复制代码


我的问题是,reqeusts的代理使用到底是怎么个逻辑?
就是这个proxies是个字典,里面是添加了很多代理的,那么问题来了,请求的时候到底是怎么选择代理的?
我的2个想法:
1,随机选择一个代理去请求
2,(我最希望的)按照字典代理顺序去请求,不成功就换一个代理继续请求,知道请求成功,或者所以代理都不能请求成功报错

虽然我很希望是第2种,但是在测试中发现应该不是这样的
总之,这个代理到底是怎么选择来用的?我一次在字典里面放10个代理和放100个代理有没有区别?多加一些代理能不能增加请求成功的几率?

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-7-8 01:50:55 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-7-8 01:51:26 | 显示全部楼层
  1. >>> proxies = {
  2.     "http":"http://59.54.226.36:8118",
  3.     "https": "http://60.212.161.248:53281",
  4.     "https": "http://153.34.111.54:53281"
  5. }
  6. >>> proxies
  7. {'http': 'http://59.54.226.36:8118', 'https': 'http://153.34.111.54:53281'}
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2017-7-8 12:48:23 | 显示全部楼层

API文档里面没有详细介绍这个代理的选择规律,所以我很疑惑到底是怎么用的
你这个例子倒是让我突然想通了为什么我加了十来个代理,不管请求是否成功,总是返回同一个代理,这个代理是一个字典,字典的key是唯一的,所以只显示2个key
那按照字典的规律来说,这个代理字典其实就只能放2个代理对吧,放多了也没用?
那我还是不明白,放2个代理,它的请求的时候到底是随机选1个还是怎么选?
我本来想找requests的源代码来看看关于代理选用的,但是并没有找到
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-7-10 11:11:54 | 显示全部楼层
gopythoner 发表于 2017-7-8 12:48
API文档里面没有详细介绍这个代理的选择规律,所以我很疑惑到底是怎么用的
你这个例子倒是让我突然想通 ...

按照字典的定义来看,当访问http和https网站的时候分别调用各自的代理,其实也就不存在随机选择的问题,都是固定的。
不过,我觉得你到是可以自己建一个代理池,每次访问的时候,自己从代理池里面选择代理加到它的字典里。这样就能实现你需要的功能了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2017-7-10 18:04:19 | 显示全部楼层
jerryxjr1220 发表于 2017-7-10 11:11
按照字典的定义来看,当访问http和https网站的时候分别调用各自的代理,其实也就不存在随机选择的问题, ...

代理池的我是有建立过的,就是抓几个网站的免费代理
然后添加到代理里面去请求,返回200就算请求成功开始提取信息,返回其他就换一个IP继续请求
但是这种方式其实很费时间的,因为请求是需要时间的
其实主要还是免费代理太垃圾了,没办法,很多网站对IP请求太敏感了,放慢爬虫频率都不行,这个真的没办法
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-19 01:19

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表