首页 > 解决方案 > Google Compute Engine aiohttp 获取请求 recaptcha

问题描述

我正在尝试使用 aiohttp 在 Google Compute Engine (GCE) 上向 Newegg 发送一个获取请求。这样做后,我返回了“你是人类吗”的网页。但是,当我在本地机器上运行相同的代码时,我能够很好地检索页面。有谁知道为什么:

  1. 我只能通过 GCE 获得 Recaptcha 页面,而不是我的本地机器?
  2. 有什么办法可以避免或绕过 GCE 上的这个 Recaptcha 页面?

我的代码:

import asyncio from bs4 import BeautifulSoup import aiohttp

async def myDriver():
    await httpReq()

async def httpReq():
    async with aiohttp.ClientSession() as session:
        async with session.get("https://www.newegg.com/") as page:
            responseCode = page.status
            print(responseCode)
            
            pageContent = await page.text()
            content = BeautifulSoup(pageContent, 'lxml')
            print(content.prettify())

asyncio.run(myDriver())

页面到达:

200
<!DOCTYPE html>
<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
 <head>
  <title>
   Are you a human?
  </title>
.
.
.
grecaptcha.ready(function()

笔记:

标签: google-cloud-platformpython-requestsgoogle-compute-enginerecaptchaaiohttp

解决方案


推荐阅读