鱼C论坛

 找回密码
 立即注册
查看: 1828|回复: 2

关于代理ip没用上的问题

[复制链接]
发表于 2020-9-8 20:56:50 | 显示全部楼层 |阅读模式

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

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

x
import requests  
from bs4 import BeautifulSoup
from lxml import etree
from cnsenti import Sentiment
import jieba
import smtplib
from email.mime.text import MIMEText
import os
import time

#——————————————————————————————————————————————————————————————————————————————————构建自创字典部分
from selenium import webdriver 
from selenium.webdriver.chrome.options import Options 
import time

from  selenium.webdriver.common.keys import Keys
from  selenium.webdriver.common.by import  By
from selenium.webdriver.support.ui import  WebDriverWait #等待一个元素加载完成
from  selenium.webdriver.support import  expected_conditions as EC

from selenium.webdriver.common.action_chains import ActionChains#引入鼠标操作

import json

def test2():
    url='http://guba.eastmoney.com/news,ustsla,962896962.html'
    
    proxiess={'https': '100.100.7.100:3000'}
    
    headers = {
    'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.226.188.131:4216 Safari/537.36',
    'Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
    'Accept-Language':'en-US,en;q=0.5',
    'Accept-Encoding':'gzip',
    'DNT':'1',
    'Connection':'close'
    }
    
    #r = requests.get(url, headers=headers)
    r = requests.get(url,proxies=proxiess)   
    r.encoding = 'utf-8'
    html = etree.HTML(r.text)#etree.HTML():构造了一个XPath解析对象并对HTML文本进行自动修正。
    result = html.xpath('//div[contains(@id,"zw_body")]/p/text()')#('//div[@id="mainNewsContent"]/p/text()')
    
    #处理文本    
    result = str(result)
    result2 = result.replace('\\u3000','')
    print(result2)


def test():
    url = 'https://www.baidu.com/'
    #url = 'http://guba.eastmoney.com/default,1_1.html'
    headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.226.188.131:4216 Safari/537.36',
            'Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
            'Accept-Language':'en-US,en;q=0.5',
            'Accept-Encoding':'gzip',
            'DNT':'1',
            'Connection':'close'
            }
    proxiess={'https': '100.100.7.100:3000'}
    
    try:   
        page = requests.get(url,proxies=proxiess)
        print(str(proxiess)+"此ip有效")
    except:
        print(str(proxiess)+"此ip无效")
  
    
test()  
test2()



由于代理ip是乱打的,所以test()中无法访问百度
而test2()中却能正常访问页面,请教各位大佬是什么原因...又应该如何解决呢?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-9-9 11:27:54 | 显示全部楼层
用你的test()下的代码可以访问百度。
3.png
不过如果你要访问百度页面获取数据的话,那得加header,和cookie。

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-9-9 15:12:27 | 显示全部楼层
suchocolate 发表于 2020-9-9 11:27
用你的test()下的代码可以访问百度。

不过如果你要访问百度页面获取数据的话,那得加header,和cookie。 ...

为什么我运行的结果就是
ProxyError: HTTPSConnectionPool(host='www.baidu.com', port=443): Max retries exceeded with url: / (Caused by ProxyError('Cannot connect to proxy.', NewConnectionError('<urllib3.connection.VerifiedHTTPSConnection object at 0x00000173A645EF48>: Failed to establish a new connection: [WinError 10060] 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。')))

这个ip明显是不可用的,怎么能来访问网页呢...
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-18 18:11

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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