精华内容
下载资源
问答
  • 爬虫所用到的函数与基本思想: 1....请求函数 url ip 如果ip为空,不使用代理ip发起请求获取源代码,ip不为none,说明这次请求是用来测试代理ip是否可用 4.解析函数 根据正则匹配ip_port数据...

    爬虫所用到的函数与基本思想:

        1.初始化函数 url headers html result_ip(存放可用ip)
        2.start函数 for循环遍历前10的ip  调用请求函数和解析函数
        3.请求函数  url ip  如果ip为空,不使用代理ip发起请求获取源代码,ip不为none,说明这次请求是用来测试代理ip是否可用
        4.解析函数   根据正则匹配ip_port数据,for循环遍历每一个ip_port,使用get_html请求函数检测ip_port是否可用,如果可用判断result_ip是否已有,如果没有添加到列表中
        5.检测列表中已有ip是否可用函数  for循环遍历已有ip,使用get_html检测是否可用,将不可用的取出,如果列表中可用ip小于5个,就重新启动爬虫函数

    import re
    from urllib import request,parse
    # 引入设置请求头的类
    from fake_useragent import UserAgent
    #设置类的对象
    agent = UserAgent()
    import time

    定义爬虫类与初始化函数

    class IpSpider(object):
        def __init__(self):
            self.url = 'https://www.kuaidaili.com/free/inha/'
            self.headers = {'User-Agent': agent.random}
            self.html = ''
            # 保存筛选后的可用 ip
            self.result_ip = []

    发起请求 获取网页的函数

        def get_html(self, url, ip=None):
            """
    
            :param url: 访问的地址
            :param ip: 代理ip 若为None 则不使用代理ip
            :return:
            """
            req = request.Request(url, headers=self.headers)
            if ip:
                # 测试ip是否可用
                proxy_h = request.ProxyHandler({
                    'http': ip
                })
                opener = request.build_opener(proxy_h)
                request.install_opener(opener)
                # open()发送请求
                res = opener.open(req, timeout=0.5)
            else:
                res = request.urlopen(req)
                self.html = res.read().decode('utf-8')
    
    解析函数
    def parse_ip(self):
            pattern = re.compile('<td data-title="IP">(.*?)</td>.*?data-title="PORT">(.*?)</td>', re.S)
            detail_res = re.findall(pattern, self.html)
            print(detail_res)
            for ip, port in detail_res:
                ip_port = ip + ':' + port
                try:
                    self.get_html('http://www.baidu.com', ip_port)
                except Exception as e:
                    print('{},{}不可用'.format(e, ip_port))
                else:
                    # 判断可用ip是否在列表中
                    if ip_port not in self.result_ip:
                        # 将可用ip放入列表中
                        self.result_ip.append(ip_port)
    检测列表中的ip是否可用
    def check_ip(self):
            iplist = []
            for ip in self.result_ip:
                try:
                    self.get_html('http://www.baidu.com', ip)
                except Exception as e:
                    pass
                else:
                    iplist.append(ip)
            self.result_ip = iplist
            # 如果剩余可用代理ip少于5个,重新爬取
            if len(self.result_ip)<5:
                self.start()
        def start(self):
            for x in range(1, 11):
                while True:
                    try:
                        # 拼接完整的url地址
                        url = self.url + str(x)
                        self.get_html(url)
                        self.parse_ip()
                        time.sleep(1)
                    except Exception as e:
                        print(e)
                    else:
                        break
    
    
    if __name__ == '__main__':
        ip = IpSpider()
        ip.start()
        # 若要检测列表里的代理ip是否可用,则可以调用这个函数
        ip.check_ip()









    展开全文
  • 关于vue部署正式环境处理ip和端口号

    千次阅读 2019-10-31 11:10:24
    前因:在我们写vue的项目的时候会遇到一个就是本地开发和正式环境的ip和端口号不一致的问题,以及本地开发跨域问题? 解决方法: 1.我们处理本地开发 在index.html proxyTable: { '/api': { //替换代理地址...

    前因:在我们写vue的项目的时候会遇到一个就是本地开发和正式环境的ip和端口号不一致的问题,以及本地开发跨域问题?

    解决方法:

    1.我们处理本地开发

    在index.html

    proxyTable: {
          '/api': { //替换代理地址名称
            target: 'http://192.168.101.102:8081/', //代理地址
           changeOrigin: true, //可否跨域
           pathRewrite: {
           '^/api': '' //重写接口,去掉/api
                   }
              }
        },

    .

    2.处理正式环境

    在你npm run build的时候会执行prod.env.js文件中的内容

    注意;这里面的http://jiaren.8910.io:8910/api是前端的IP和端口号,是用niginx转发

     

    'use strict'
    module.exports = {
      NODE_ENV: '"production"',
      API_HOST:'"http://jiaren.8910.io:8910/api"'//这是前段访问地址
     
    }

     调用:

    在自己的js文件调用这个ip和端口号

    其中process.env.API_HOST,process.env调用上图的配置文件prod.env.js,API_HOST是自定义属性

    展开全文
  • 其它电脑上网则需要设置代理服务器的ip和端口号。 由于使用校园网,这个IP常变,所以咨询有没有 软件可以更改IP 和端口号(目前是在网页-工具-设置)。 以前对电脑静态IP 设置有.bat文件可实现。
  • 运行环境: MacBook Pro 10.14 python3.6.2 pycharm 2018.3.2 运用到的模块: ...创建主函数:Grasp_ip.py 负责实现抓取IP,post的业务逻辑 #encoding=utf-8 import requests from header import h...

    运行环境:
    MacBook Pro 10.14 python3.6.2 pycharm 2018.3.2
    运用到的模块:
    requests、BeaetifulSoup、lxml、time、random、os
    创建主函数:Grasp_ip.py 负责实现抓取IP,post的业务逻辑
    #encoding=utf-8
    import requests
    from header import headers
    from bs4 import BeautifulSoup
    from urls import urls
    import time
    import random

    n=0
    for url in urls():
    request=requests.get(url,headers=headers())
    request.encoding=‘gbk’
    html=BeautifulSoup(request.text,features=‘lxml’)
    tr=html.find_all(‘tr’)
    f=open(‘kuaidaili_ip.txt’, mode=‘a+’)
    for td in tr[1:len(tr)]:
    ip=td.find_all(‘td’)[0].text
    post=td.find_all(‘td’)[1].text
    ip_post=ip+’\t’+post+’\n’
    f.write(ip_post)
    n=n+1
    print(‘成功抓取第’+str(n)+‘页!’)
    time.sleep(random.randint(2,10))

    创建 headers.py 存放请求头信息
    #encoding=utf-8
    def headers():
    headers={}
    User_Agent = ‘Mozilla/5.0 (Windows NT 6.3; WOW64; rv:43.0) Gecko/20100101 Firefox/43.0’
    headers[‘User-Agent’] = User_Agent
    return headers

    创建 urls.py 存放所有的url地址
    #encoding=utf-8

    import requests
    from header import headers
    from lxml import etree

    request = requests.get(‘https://www.kuaidaili.com/free/inha/1’, headers=headers())
    request.encoding = ‘utf-8’

    etree = etree.HTML(request.text)
    end = etree.xpath(’//*[@id=“listnav”]/ul/li[9]/a/text()’)[0]

    def urls():
    urlslist=[]
    for i in range(100,int(end)):
    url=‘https://www.kuaidaili.com/free/inha/{}’.format(i)
    urlslist.append(url)
    return urlslist

    创建 test_ip.py 此函数用于测试得到的ip和端口号,并将稳定的保存
    #encoding=utf-8
    #检测代理ip是否可用
    import requests
    import os

    f=open(‘kuaidaili_ip.txt’,mode=‘r’)
    liens=f.readlines()
    proxys=[]
    #http://ip.tool.chinaz.com/118.25.42.197
    for i in range(len(liens)):
    ip=liens[i].split(’\t’)[0]
    proxys.append(ip)
    print(‘IP地址读取完毕!’)

    if os.path.isfile(‘ip.txt’):
    os.remove(‘ip.txt’)
    print(‘原文件删除完毕!’)

    n=0
    for url in proxys:
    n=n+1
    try:
    urls=‘http://ip.tool.chinaz.com/{}’.format(url)
    request=requests.post(urls)
    print(str(proxys[n])+’\t’+‘可用!’)
    with open(‘ip.txt’, mode=‘a+’) as f:
    f.write(liens[n])
    except :
    print(str(proxys[n])+’\t’+‘不可用!’)
    continue
    到此所有业务逻辑已经实现,之后会持续优化并更新。

    展开全文
  • 使用完整部分URI的规则如下所示: 如果提供的是部分URI,而且没有Host首部,就要用其他方法来确定原始服务器; 如果提供的是完整URI,代理就应该使用这个完整URI; 如果提供的是部分UR,而且有Hogt首部,就应该用Host首部...

    代理服务器处理请求的时候是怎么工作的?关于代理服务器的请求处理规则,大家了解多少?今天,我们IPIDEA一起看看完整链接与部分链接的处理规则。

    使用完整和部分URI的规则如下所示:

    如果提供的是部分URI,而且没有Host首部,就要用其他方法来确定原始服务器;

    如果提供的是完整URI,代理就应该使用这个完整URI;

    9b53bdef3a9153474bf868c856d73f0c.png

    如果提供的是部分UR,而且有Hogt首部,就应该用Host首部来确定原始服务器的名字和端口号;

    如果代理是代表原始服务器的替代物,可以用真实服务器的地址和端口号来配置代理;

    如果所有方法都失败了,代理没有足够的信息来确定原始服务器,就必须返回一条错误报文(通常是建议用户升级到支持Hogt首部的现代浏览器);

    如果流量被拦截了,而且拦截者也可以提供原始的IP地址和端口,代理就可以使用拦截技术提供的IP地址和端口号。

    以上就是代理服务器请求处理的相应规则介绍,希望能够让大家更加了解到代理ip的使用。

    展开全文
  • 在实际情况中,因为用户和服务器之间存在代理服务器比如nginx,这个解析到的域名一般是代理服务器的 IP地址(或者IP地址 :80端口 ),代理服务再去转发请求到真正的业务服务器,业务服务器和IP和端口号就跟访问的...
  • MyEclipse6.5非常小 只有6M左右   在安装的过程必须得联网,否则就会出现 提示你输入 代理ip地址和端口号
  • 开发中若接口文档中接口有不同的IP和端口号,需要在option下的router属性中配置path:转向的端口和IP,我这里使用的是path来匹配请求。参考文档:http-proxy-middleware。 /** * @file config for proxy, useful ...
  • 写在前面:上一步,我们已经部署好了静态网页但是呢有一个端口号在哪里,看着很不爽,接下来我们就来解决掉这个端口号。一、增加文件夹我们之前已经创建过两个文件夹了,大家还记得吗?/home |---panwei |----...
  • 扫描IP开放端口

    2018-08-15 16:41:45
    扫描IP开放端口,支持多线程扫描。 通过该工具可以扫描常用的端口... SOCKS代理协议服务器常用端口号:1080 (3). FTP(文件传输)协议代理服务器常用端口号:21 (4). Telnet(远程登录)协议代理服务器常用端口:23
  • 可利用nginx反向代理隐藏端口号和项目名,直接输入ip即可访问对应的tomcat项目,配置nginx安装目录的nginx/conf/nginx.conf文件,修改如下:(只开了一个项目名为film5的web项目) server { listen 80; server_...
  • 连接手机设置proxy setting的端口号以及手机的IP 代理端口1.1步骤1)proxy setting,查看charles,端口 勾选上上面的,点击确定 2)ipconfig,查看自己电脑的ip地址 3)手机通过设置http代理服务器,连接到电脑...
  • 如何设置QQ的登录代理服务器QQ登录,很多人没有关注代理 服务器的设置;大多数时候,也不用关注,两个原因:1、 直接连接公网,不用代理;2、 QQ登录代理,选择了"使用浏览器设置",浏览器设置了代理,可以上网,QQ...
  • Sham虽然去申请开通了公网IP,但是电信是会把80443端口给禁用的,那正常访问家里服务器都需要带端口号,这样很不友好,于是想起以前使用Frp内网穿透来实现去除端口号,然后在外部云服务器上布置Frp服务的时候发现...
  • 开发中,可能会有这样一个需求,页面中写的是 ip和端口这种形式,在测试和生产中可能会造成反复修改 优化思路: 使用生产环境中的域名,配置开发者本机host文件,让域名走自己的电脑主机,然后使用nginx配置反向代理...
  • NATAPP: 基于ngrok的...作用:将内网的ip和端口映射成公网 操作步骤: 1.进入官网:https://natapp.cn/ 2.注册账号并且实名制 3.购买免费隧道,如下图: 4.获取authtoken的值,如下图: 5.在自己本地起一个web项...
  • (异步爬虫)requests和aiohttp中代理IP的使用 爬虫要想爬的好,IP代理少不了。...proxies的参数值是一个字典,key是代理协议(http/https),value就是ip和端口号,具体格式如下。 try: response =
  • 一、问题说明 过滤器在过滤登录请求的时候,对服务器的ip+端口号与访问请求的ip+端口号进行了校验。...下面解决的时候,ip和端口号我使用本地的来进行说明。 上图很明显是服务器的端口没有,我在本地debug调试查...
  • 指定使用的代理ip和端口号,--proxy="代理ip:端口号"即可: 1.下载scrapy pip install scrapy --proxy="代理ip:端口号" 2.下载pandas pip install pandas --proxy="代理ip:端口号" ...
  • 还有就是本人实操作,直接访问的,明面上的代理ip(免费版本最好的是站大爷,但是它的端口号为图片形式的验证码,比较难爬取,所以上面没有,但是能找到的直接提取,不包括注册的大概都在上面。) 代码提取:...
  • 需求:获取西刺网代理ip信息,包括ip地址、端口号、ip类型西刺网:http://www.xicidaili.com/nn/那,如何解决这个问题?分析页面结构url设计得知:数据都在本页面可以全部获取,没有单独的详情页面下一页通过更改...
  • 点击上方蓝字关注我们!0元免费IP列表首先分享一波:免费代理由第三方服务器提供,IP质量不高。IP地址 端口号 匿名程度 支持协议 地区 稳定时间 更新时间FREE 114.233.51...
  • HTTP代理IP怎么使用

    2019-03-11 13:44:00
    打开internet选项,在局域网设置中勾选代理服务器"为LAN使用代理服务器",填入IP地址对应端口号,保存后刷新浏览器IP就变了。 这种适合效果补量业务,可以用于突破网站IP地址限制问题。  第二种情况:网络...
  • 代理服务器的功能就是代理网络用户去取得网络信息,也可以比喻为是网络信息的中转站。...点击连接选项卡,然后找到局域网设置,勾选代理服务器,填写代理服务器的地址和端口号即可。 IE下设置代理是不是很
  • 本文介绍的代理IP为动态转发代理(http://www.xiaozhudaili.com/buy/tunnel.html),只需要在代码中设置好固定的IP和端口号,以后的每个请求转发代理都会自动更换一个新的IP,不需要在代码中做什么操作。 动态转发...
  • python验证IP代理是否可用

    千次阅读 2017-10-26 16:49:19
    网络爬虫往往会碰到IP被封的尴尬场面,但...1、在相关免费IP代理的网站获取可用的代理IP以及端口号,存在数据库或者文本,也可不存直接抓取验证使用 2,从抓取的文件或者数据库钟读取IP及端口号和协议 3,使用resqu
  • 使用CXF实现webservice时通过nginx反向代理动态生成的wsdl文件中 location中的地址和端口号丢失了,导致webservice调用失败。 原因 $host参数不包含端口号,导致请求头部Host中的端口号丢失,从而无法获取端口号。 $...
  • 第一步、首先要找一个能够提供代理ip的网站,然后爬下网站上的ip地址和端口号。最后用爬取出来的ip做代理访问指定网站。 第二步、获取页面信息 第三步、代码解析 def getProxyIp(): proxy = [] for i in range(1,...
  • Python爬虫实战——代理IP全部抓取

    千次阅读 2017-02-26 13:03:19
    写爬虫程序时,为了使爬虫不被屏蔽,有时需要使用到代理IP,这时就要去免费...这个网页的内容比较容易抓取,我主要需要三个内容,http类型,IP地址和端口号 以下是源码: #!/usr/bin/python # -*- encoding:utf-8 -*-

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 714
精华内容 285
关键字:

代理ip和端口号