V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
h19981126g
V2EX  ›  Python

用 requests 测试代理 IP 失败了,求助!

  •  
  •   h19981126g · 2018-07-21 18:39:29 +08:00 · 5139 次点击
    这是一个创建于 2327 天前的主题,其中的信息可能已经有所发展或是发生改变。
    ips.csv 是已经保存了形如 118.31.220.3:8080 的 IP 列表
    用 requests 测试代理 IP 是否可用输出总是把原 IP 列表又输出了一遍!真心求助!

    IPpools = []
    with open('ips.csv', 'r') as csvfile:
    reader = csv.reader(csvfile)
    testip = [row[1] for row in reader]

    for rows in testip:
    proxy = 'http://'+rows
    proxies = {"http": proxy}
    try:
    html = requests.get('https://www.baidu.com', proxies=proxies)
    if html.status_code == 200:
    IPpools.append(proxy)
    except Exception as e:
    continue

    print(IPpools)
    21 条回复    2018-07-22 19:37:03 +08:00
    zhengxiaowai
        1
    zhengxiaowai  
       2018-07-21 19:06:03 +08:00
    proxy = 'http://'+rows -> proxy = 'https://'+rows
    ysc3839
        2
    ysc3839  
       2018-07-21 19:11:55 +08:00 via Android
    你想表达什么?“原 IP 列表”指的是什么?
    sola97
        3
    sola97  
       2018-07-21 19:26:53 +08:00
    请求百度用的 https,proxies = {"http": proxy} 代理 http,当然不匹配
    ysc3839
        4
    ysc3839  
       2018-07-21 19:33:28 +08:00 via Android
    h19981126g
        5
    h19981126g  
    OP
       2018-07-21 19:38:07 +08:00
    我的 ip 的列表有 https 和 http,一般怎么处理好?
    h19981126g
        6
    h19981126g  
    OP
       2018-07-21 19:38:30 +08:00
    @sola97 我的 ip 的列表有 https 和 http,一般怎么处理好?
    h19981126g
        7
    h19981126g  
    OP
       2018-07-21 19:40:49 +08:00
    @ysc3839 proxies 我看过文档是怎么写的,就是问数组里的 ip 怎样变成参考里带引号能用的样子
    ysc3839
        8
    ysc3839  
       2018-07-21 19:47:22 +08:00 via Android
    @h19981126g 你的 csv 是怎样的?发来看看。
    also24
        9
    also24  
       2018-07-21 19:48:28 +08:00
    @h19981126g #7 你 5 楼的问题,在 4 楼给出的链接里有答案
    h19981126g
        10
    h19981126g  
    OP
       2018-07-21 19:50:13 +08:00
    @also24 就是看过了还不知道怎么解决 才来问的。
    golmic
        11
    golmic  
       2018-07-21 19:52:35 +08:00 via Android
    @h19981126g 直接 proxy=("all":row) 换成大括号
    also24
        12
    also24  
       2018-07-21 19:52:57 +08:00
    @h19981126g #10
    4 楼的链接,点进去以后锚点直接定位在这里,结合 3 楼说的思考一下
    golmic
        13
    golmic  
       2018-07-21 19:53:04 +08:00 via Android
    row 加一下 http 或者 https 协议头
    h19981126g
        14
    h19981126g  
    OP
       2018-07-21 19:56:53 +08:00
    @ysc3839 不用管 csv 是怎么样的,我设置读到 python 里就是个数组,就是解决 requests 代理从数组中读取地址,和 https 的问题
    http://i4.bvimg.com/653190/d2ca3f32af5b6288.jpg
    http://i4.bvimg.com/653190/67387ae897763b8d.jpg
    ysc3839
        15
    ysc3839  
       2018-07-21 20:01:53 +08:00 via Android
    @h19981126g 你 csv 里面都没记录代理服务器是 http 还是 https,那没办法处理啊?
    h19981126g
        16
    h19981126g  
    OP
       2018-07-21 20:12:19 +08:00
    我有办法爬到,只是现在没爬
    h19981126g
        17
    h19981126g  
    OP
       2018-07-21 20:51:07 +08:00
    @ysc3839 我有办法爬到,只是现在没爬
    ysc3839
        18
    ysc3839  
       2018-07-21 20:59:38 +08:00 via Android
    @h19981126g 那你爬的时候把完整 URL 写进 csv 就好了。
    also24
        19
    also24  
       2018-07-21 22:38:40 +08:00 via Android
    骑了一圈儿车回来,楼主是还没找到方法嘛?

    试试把 proxies = {"http": proxy}

    改成 proxies = {"http": proxy, "https":proxy,} 会怎样 🙄
    kismetX
        20
    kismetX  
       2018-07-21 22:43:05 +08:00
    @also24 没错,是要这样子的,我之前单用 http 或 https 也没用,后来改成两都配,就 OK 了
    h19981126g
        21
    h19981126g  
    OP
       2018-07-22 19:37:03 +08:00
    @also24 谢谢,已经找到了,只是没回复,我直接用的 proxies = {"all": proxy} 不知道有没有问题
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3543 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 10:48 · PVG 18:48 · LAX 02:48 · JFK 05:48
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.