码迷,mamicode.com
首页 > 编程语言 > 详细

python抓取数据,python使用socks代理抓取数据

时间:2017-09-09 00:45:20      阅读:423      评论:0      收藏:0      [点我收藏+]

标签:host   科技   width   python   pip   bsp   steam   get   uil   

  在python中,正常的抓取数据直接使用urllib2 这个模块:

import urllib2
url = http://fanyi.baidu.com/
stream = urllib2.urlopen(url)
cont = stream.read()
print cont

  如果要走http代理的话,我们也可以使用urllib2,不需要引用别的模块:

import urllib2
url = https://clients5.google.com/pagead/drt/dn/dn.js
proxy_handler = urllib2.ProxyHandler({http:127.0.0.1:1080})
opener = urllib2.build_opener(proxy_handler)
f = opener.open(url)
print f.read()

  如果要使用socks5代理, 我们需要别的模块 sockes, socket, 我们可以通过pip install socksipy , (我是windows的系统, 还需要另外的一个模块, pip install win_inet_pton) 建议直接下载安装包到python的安装目录,切换到对应目录,执行python setup.py install安装,真被大天朝的墙给坑死了, 然后在需要代理的模块上添加socket代码:

import socks
import socket
socks.setdefaultproxy(socks.PROXY_TYPE_SOCKS5, "127.0.0.1", 1080)
socket.socket = socks.socksocket

  完整的代码如下:

//添加的代码开头
import win_inet_pton import socks import socket socks.setdefaultproxy(socks.PROXY_TYPE_SOCKS5,
"127.0.0.1", 1080) socket.socket = socks.socksocket
//添加的代码结束 import urllib2 steam
= urllib2.urlopen(https://clients5.google.com/pagead/drt/dn/dn.js) print steam.read()

  使用requests模块, 我们也在requests之前添加socket的代码,后面的http请求不用改了,还是走原来的逻辑:

//添加的代码开头
import win_inet_pton import socket import socks import requests ip
=localhost port = 1080 socks.setdefaultproxy(socks.PROXY_TYPE_SOCKS5, ip, port) socket.socket = socks.socksocket //添加的代码结束
url
= https://clients5.google.com/pagead/drt/dn/dn.js print requests.get(url).text

  相关:

  github:https://github.com/mitsuhiko/python-geoip/issues/4

技术分享 作者: NONO
出处:http://www.cnblogs.com/diligenceday/
企业网站:http://www.idrwl.com/ 厦门点燃未来网络科技
开源博客:http://www.github.com/sqqihao
QQ:287101329
微信:18101055830 

厦门点燃未来网络科技有限公司, 是厦门最好的微信应用, 小程序, 微信网站, 公众号开发公司

python抓取数据,python使用socks代理抓取数据

标签:host   科技   width   python   pip   bsp   steam   get   uil   

原文地址:http://www.cnblogs.com/diligenceday/p/5719978.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!