requests模块高级操作之proxies

一、代理proxy

  概念:代理服务器

  作用:请求和响应的转发

  免费代理

    www.goubanjia.com 

    快代理

    西祠代理

    代理精灵(付费)

  匿名度:

    透明:对方服务器知道你使用代理也知道你真实ip

    匿名:  对方知道你使用代理但不知道你真实ip

    高匿: 对方什么都不知道

  类型:

    http: 只能拦截或转发http请求

    https:只能拦截或者转发https的请求

  付费代理:

    代理池:列表中存在多个字典每一个字典{'http':ip:port} 

  使用:get/post(proxies = {'http':'ip:port'}) 

import requests
import random
from lxml import etree


header={
    'User-Agent':'Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1'
}

#定义获取ip的函数
def get_proxy(url): proxies_list = [] page_text = requests.get(url,headers=header).text tree = etree.HTML(page_text) p_list = tree.xpath('//body//text()') for p in p_list: dic = { 'https':p } proxies_list.append(dic) return proxies_list url = 'https://www.baidu.com/s?wd=ip' #设定代理 #构建一个代理池 proxies_list = get_proxy('http://t.11jsq.com/index.php/api/entry?method=proxyServer.generate_api_url&packid=1&fa=0&fetch_key=&groupid=0&qty=15&time=1&pro=&city=&port=1&format=html&ss=5&css=&dt=1&specialTxt=3&specialJson=&usertype=2') page_text = requests.get(url,headers=header,proxies = random.choice(proxies_list)).text with open('ip.html','w',encoding="utf-8") as f: f.write(page_text)

    

猜你喜欢

转载自www.cnblogs.com/guniang/p/11712759.html
今日推荐