鱼C论坛

 找回密码
 立即注册
查看: 2044|回复: 16

[已解决]代理IP不管用,这个网站怎么爬呢?

[复制链接]
发表于 2018-10-11 00:44:56 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 songrui1021 于 2018-10-11 00:55 编辑

无标题.jpg
https://verify-email.org是个邮件地址有效性验证的网站,可以免费试用5次。
应该是IP限制,使用代理无法突破免费适用的限制,使用代理软件换IP可以突破免费的限制。
求解?
以下是验证邮件地址有效性的方法

https://verify-email.org/home/verify-as-guest/XXXXXXXX@qq.com
替换最后一项邮箱地址即可实现验证

代码奉上,请大神帮忙:
from urllib.error import URLError, HTTPError
import requests
import random
url = "https://verify-email.org/home/verify-as-guest/15513438x@qq.com"
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.96 Safari/537.36'}
# with open('ip.txt', mode='r', encoding='utf-8') as f:
#     useful_proxies = f.readlines()
# proxie = random.choice(useful_proxies)
# proxies = {"http":proxie.strip()}
proxies = {"http":"114.234.80.109:9000"}

def email_vertify():
    try:
        request = requests.get(url,headers=headers,proxies=proxies)
        reponse = request.text
        print(proxies)
    except HTTPError as e:
        print('服务器故障!!!')
        print('Error code: ', e.code)
    except URLError as e:
        print('无法连接URL服务器!!!')
        print('Reason: ', e.reason)
    else:
         print("验证完成,准备下次验证.....")
         print(reponse)
email_vertify()
最佳答案
2018-10-11 16:38:20
代理的问题,请确定你的代理是可用的
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2018-10-11 01:13:37 | 显示全部楼层
我确认是使用了高匿代理
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-10-11 09:50:03 | 显示全部楼层
给你2个思路  
1. 可以写个自动获取代理IP的爬虫,让你每次运行时代理IP都不一样
2. 去搞个动态IP
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-10-11 15:10:06 | 显示全部楼层
说实话,没搞懂他怎么反爬的,和ip没关系。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-10-11 15:48:01 | 显示全部楼层
翻墙软件一开,他的额度会重置
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-10-11 15:53:02 | 显示全部楼层
Tom.Error 发表于 2018-10-11 09:50
给你2个思路  
1. 可以写个自动获取代理IP的爬虫,让你每次运行时代理IP都不一样
2. 去搞个动态IP

我试过了,我注释掉的4行就是代理ip池
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-10-11 16:01:00 From FishC Mobile | 显示全部楼层
你告诉我为什么代理软件就可以?
你有requests模块
prioxies={'http':xxxx}这里意思指访问http类型网站用这个代理,所以你压根就没有代理,所以应该这样写
proxies={'http':'xxxxxxx','https':'xxxxx'}
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-10-11 16:01:03 | 显示全部楼层
确定他是用这段js做的验证动作,看不太懂,求大神帮忙


<script>
        (function () {

            document.getElementById("verifyBtn").addEventListener('click', makeRequest);
            document.getElementById("email").addEventListener('keypress', function (k) {
                if (k.code == 'Enter') {
                    makeRequest();
                }
            });

            function makeRequest() {

                var guestVerifier = document.getElementById("guest-verifier");

                var email_input = document.getElementById("email")
                var email = email_input.value;
                var result = document.getElementById("result");
                var result_log = document.getElementById("result-log");
                var result_email = document.getElementById("result-email");

                if (email != '') {

                    guestVerifier.classList.add('is-loading');

                    result.style.display = "none";
                    result_log.style.display = "none";
                    result_email.innerHTML = "";
                    result_email.className = "";
                    result_log.innerHTML = "";


                    axios.get('/home/verify-as-guest/' + email)
                        .then(function (response) {
                            // console.log(response.data.response.log);
                            result_log.innerHTML = response.data.response.log;
                            result_log.style.display = "block";
                            if (response.data.response.status == 1) {
                                result_email.innerHTML = email + ' is OK';
                                result_email.classList.add('alert');
                                result_email.classList.add('alert-success');
                            } else if (response.data.response.status == 0) {
                                result_email.innerHTML = email + ' is BAD';
                                result_email.classList.add('alert');
                                result_email.classList.add('alert-danger');
                            } else {
                                result_email.innerHTML = email + ' is UNKNOWN';
                                result_email.classList.add('alert');
                                result_email.classList.add('alert-dark');
                            }

                            result.style.display = "block";
                        })
                        .catch(function (error) {
                            console.log(error)
                            // no more credits
                            if (error.response.status === 429) {
                                result_email.innerHTML = error.response.data;
                                result_email.classList.add('alert');
                                result_email.classList.add('alert-danger');
                                result.style.display = "block";
                            } else {
                                location.reload();
                            }
                            // // unprocessable entity; validation error in this case
                            // 422: function (err) {
                            //     results_box.empty().append('<pre>' + err.responseJSON.email_to_verify + '</pre>');
                            //     callout_class = 'callout callout-danger';
                            //     results_box.addClass(callout_class);
                            // },
                            // // unauthorised
                            // 401: function () {
                            //     location.reload();
                            // },
                            // //server error
                            // 500: function () {
                            //     location.reload();
                            // }
                        })
                        .then(function () {
                            guestVerifier.classList.remove('is-loading');
                            email_input.value = '';
                        });
                }
            }

        })();
    </script>



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

使用道具 举报

 楼主| 发表于 2018-10-11 16:36:09 | 显示全部楼层
waitforlove 发表于 2018-10-11 16:01
你告诉我为什么代理软件就可以?
你有requests模块
prioxies={'http':xxxx}这里意思指访问http类型网站用 ...

多谢大神指点,换了https的代理,请求很长时间后报错了,估计是他知道我用代理了!
requests.exceptions.ProxyError: HTTPSConnectionPool(host='verify-email.org', port=443): Max retries exceeded with url: /home/verify-as-guest/155134385@qq.com (Caused by ProxyError('Cannot connect to proxy.', NewConnectionError('<urllib3.connection.VerifiedHTTPSConnection object at 0x000001FFD5802240>: Failed to establish a new connection: [WinError 10060] 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。',)))
估计是他知道我用代理了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-10-11 16:38:20 From FishC Mobile | 显示全部楼层    本楼为最佳答案   
代理的问题,请确定你的代理是可用的
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-10-11 16:38:29 | 显示全部楼层
requests.exceptions.SSLError: HTTPSConnectionPool(host='verify-email.org', port=443): Max retries exceeded with url: /home/verify-as-guest/155134385@qq.com (Caused by SSLError(SSLError("bad handshake: SysCallError(-1, 'Unexpected EOF')",),))
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-10-11 16:39:33 | 显示全部楼层
这给网站是验证邮箱比较有名的,果然反爬厉害,我还是换个网站去爬吧,可惜了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-10-11 18:13:12 | 显示全部楼层
waitforlove 发表于 2018-10-11 16:38
代理的问题,请确定你的代理是可用的

确实是代理问题
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-10-11 18:44:37 From FishC Mobile | 显示全部楼层
songrui1021 发表于 2018-10-11 18:13
确实是代理问题

我意思是测试你的代理IP是否可用
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-10-11 21:20:33 | 显示全部楼层
waitforlove 发表于 2018-10-11 18:44
我意思是测试你的代理IP是否可用

多谢大神,换了个可用的代理,突破了限制,弄了个代理池,实现了批量验证,确认他是限制ip实现的反爬!代理池全部使用https即可
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-10-11 21:21:24 | 显示全部楼层
就是网速有点慢,这个用国外的代理是不是会快点呢?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-10-11 21:24:41 | 显示全部楼层
songrui1021 发表于 2018-10-11 21:21
就是网速有点慢,这个用国外的代理是不是会快点呢?

这是代理ip速度,没办法,除非花钱买稳定高速的代理哦
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-10-10 11:16

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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