鱼C论坛

 找回密码
 立即注册
查看: 3708|回复: 10

[已解决]055. 爬虫代理,报错

[复制链接]
发表于 2016-3-15 16:13:19 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
python 视频学习到第 55 课,按照老师的师范,但是总是报错,请各位帮帮忙,不然都不能愉快的继续学下去了

代码如下:

  1. import urllib.request
  2. import random

  3. url = 'http://www.whatismyip.com.tw'

  4. iplist = ['119.7.89.93:9000','115.218.121.106:9000','119.131.97.241:8090']

  5. proxy_support = urllib.request.ProxyHandler({'http':random.choice(iplist)}) # step1 创建一个代理


  6. opener = urllib.request.build_opener(proxy_support)  # step2 定制一个打开方法

  7. opener.addheaders = [('User-Agent','Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.116 Safari/537.36')] # 假装User-Agent


  8. urllib.request.install_opener(opener)   # 安装opener 方法一

  9. '''opener.open(url) # 安装opener 方法二'''



  10. response = urllib.request.urlopen(url)

  11. html =  response.read().decode('utf-8')

  12. print(html)
复制代码


运行结果要么秒现 报错1
要么超时,报错2
最佳答案
2016-3-15 17:03:10
程序没有错误,应该是代理ip的问题,你换几个代理ip试试。有时候就会出现这个问题,有的代理ip很慢,结果就出错了

报错1

报错1

报错2

报错2
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-3-15 16:48:35 | 显示全部楼层
免费的代理服务器不能使用是很正常的, 注释掉代理部分, 程序能运行就ok了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-3-15 17:03:10 | 显示全部楼层    本楼为最佳答案   
程序没有错误,应该是代理ip的问题,你换几个代理ip试试。有时候就会出现这个问题,有的代理ip很慢,结果就出错了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2016-3-17 09:30:14 | 显示全部楼层
hldh214 发表于 2016-3-15 16:48
免费的代理服务器不能使用是很正常的, 注释掉代理部分, 程序能运行就ok了

非常感谢你的回复,我试了至少20个ip, 没一个行的。所以决定先放一放。

此外,当我注释掉安装opener, 会运行,显示一个IP。但是这个IP不是我的,和我在ipconfig里看到的不一样。有解释吗?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-3-17 09:31:03 | 显示全部楼层
hldh214 发表于 2016-3-15 16:48
免费的代理服务器不能使用是很正常的, 注释掉代理部分, 程序能运行就ok了

非常感谢你的回复,我试了至少20个ip, 没一个行的。所以决定先放一放。

此外,当我注释掉安装opener, 会运行,显示一个IP。但是这个IP不是我的,和我在ipconfig里看到的不一样。有解释吗?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-3-17 09:32:26 | 显示全部楼层
sjp123 发表于 2016-3-15 17:03
程序没有错误,应该是代理ip的问题,你换几个代理ip试试。有时候就会出现这个问题,有的代理ip很慢,结果就 ...

好的,谢谢你
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-3-17 09:43:01 | 显示全部楼层
本帖最后由 kunaiai 于 2016-3-17 09:45 编辑

现在ooxx反爬虫很严格了   addheaders 这个要把你跟踪到的都添上
heads.append(('Host','jandan.net'))
    #heads.append(('Connection','keep-alive'))
    heads.append(('Accept', 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8'))
    heads.append(('User-Agent','Mozilla/5.0 (Windows NT 5.2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.116 Safari/537.36'))
    heads.append(('Accept-Encoding','gzip, deflate, sdch'))
    heads.append(('Accept-Language','zh-CN,zh;q=0.8'))
    heads.append(('Cookie','aliyungf_tc=AQAAAI0S5U1xHA0A/stacRBEuAXZ+pQe; _gat=1; _ga=GA1.2.355763900.1457580893; Hm_lvt_fd93b7fb546adcfbcf80c4fc2b54da2c=1457580893; Hm_lpvt_fd93b7fb546adcfbcf80c4fc2b54da2c=1457587243'))
这个是我的给你参考


不过这个要解码
    import gzip

    response = opener.open(url)
    doc = response.read()
   
    #解码  
    try:  
        html=gzip.decompress(doc)
    except:  
        html=doc
    return html
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-3-17 09:48:59 | 显示全部楼层
四姑娘 发表于 2016-3-17 09:31
非常感谢你的回复,我试了至少20个ip, 没一个行的。所以决定先放一放。

此外,当我注释掉安装opener,  ...

你用浏览器访问一下url就知道问题的答案
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-3-17 15:07:50 | 显示全部楼层
看完楼主的帖子,我的心情竟是久久不能平复,正如老子所云:大音希声,大象希形。我现在终于明白我缺乏的是什么了,正是楼主那种对真理的执着追求和楼主那种对理想的艰苦实践所产生的厚重感。面对楼主的帖子,我震惊得几乎不能动弹了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-3-19 13:29:40 | 显示全部楼层
可以先爬一批ip下来,逐个ip随便get个网(比如百度),正常响应才加到代理ip列表
import requests
proxy = { "http": "http://(ip):(端口号)"
resp = requests.get("http://www.baidu.com", proxies=proxy, timeout=10)
if resp.ok == True:
    (把这个ip加入代理ip列表)
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-3-22 09:53:50 | 显示全部楼层
表示还没有看到这里
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-2-20 05:51

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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