关于代理ip没用上的问题
import requestsfrom 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
fromselenium.webdriver.common.keys import Keys
fromselenium.webdriver.common.by importBy
from selenium.webdriver.support.ui importWebDriverWait #等待一个元素加载完成
fromselenium.webdriver.support importexpected_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/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()中却能正常访问页面,请教各位大佬是什么原因...又应该如何解决呢? 用你的test()下的代码可以访问百度。
不过如果你要访问百度页面获取数据的话,那得加header,和cookie。
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: 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。')))
这个ip明显是不可用的,怎么能来访问网页呢...
页:
[1]