pyppeteer代理问题
async def load(URL,proxy):headers={}
browser = await pyppeteer.launch(headless=HEADLESS, ignoreDefaultArgs=['--enable-automation'],args=['--proxy-server=https://'+proxy])
page = await browser.newPage()
await page.setExtraHTTPHeaders({"User-Agent":'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3542.0 Safari/537.36'})
try:
await page.goto(URL, {'timeout': 20000})# 加载URL
await page.waitForNavigation()
html = await page.content()# 获取tab对象的HTML内容
soup = BeautifulSoup(html, 'lxml')
except Exception as e:
print(f"Error occurred while loading page: {e}")
soup = None
return soup
在我为pyppeteer设置了代理之后,总是会出现,网络未连接的错误。但是用自己的ip就可以访问。初步判断不是网络的问题。
也对代理ip进行了验证。发现ip是可以使用的,帮帮孩子吧
您在使用Pyppeteer时遇到了代理问题。首先,确保您的代理服务器是可用的,并且已正确配置。根据您的代码,这里有一些建议和更改:
1. 请确保HEADLESS变量已定义。如果你没有定义这个变量,你可以在代码中直接使用 headless=True 。
2. 考虑添加一个 await page.waitFor(1000)在await page.goto(URL, {'timeout': 20000}) 之后,让页面有足够的时间加载。注意,这里的 1000 表示等待1秒,您可以根据需要调整这个值。
3. 您可以尝试将代理类型从 https 更改为 http ,以检查是否是代理类型导致的问题。
修改后的代码如下:
async def load(URL,proxy):
headers={}
browser = await pyppeteer.launch(headless=True, ignoreDefaultArgs=['--enable-automation'], args=['--proxy-server=http://'+proxy])
page = await browser.newPage()
await page.setExtraHTTPHeaders({"User-Agent":'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3542.0 Safari/537.36'})
try:
await page.goto(URL, {'timeout': 20000})# 加载URL
await page.waitFor(1000)# 等待页面加载
html = await page.content()# 获取tab对象的HTML内容
soup = BeautifulSoup(html, 'lxml')
except Exception as e:
print(f"Error occurred while loading page: {e}")
soup = None
return soup
如果问题仍然存在,请检查以下内容:
· 代理是否需要身份验证?如果需要,您可能需要提供用户名和密码。
· 检查代理IP和端口是否正确。
· 尝试使用不同的代理服务器,以确定问题是否特定于某个代理。
页:
[1]