Das Nodriver -Web -Scraping -Programm steckt bei CDP.network.get_Response_body fest?Python

Python-Programme
Anonymous
 Das Nodriver -Web -Scraping -Programm steckt bei CDP.network.get_Response_body fest?

Post by Anonymous »

Ich versuche, die Antwort vom Webserver abzufangen und den Körper zu extrahieren. Es verwendet das Modul Nodriver , um die Seite erfolgreich zu laden und das Anforderungsereignis zu erfassen. Wenn es jedoch versucht, den Generator von GET_Response_Body an die Registerkarte zu senden (

Code: Select all

body = await self.tab.send(gen)
) Es bleibt stecken. Was fehlt ich? < /P>

Code: Select all

import nodriver
import asyncio
import os

url = "https://www.getfpv.com/graphql?query=%0A%7B%0A%20%20products(%0A%20%20%20%20filter%3A%20%7B%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20sku%3A%20%7B%20in%3A%20%5B%2222817%22%5D%20%7D%2C%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20%7D%0A%20%20%20%20pageSize%3A%208%2C%0A%20%20%20%20sort%3A%20%7Bposition%3A%20ASC%7D%0A%20%20%20%20)%20%7B%0A%20%20%20%20items%20%7B%0A%20%20%20%20%20%20%20%20related_products%20%7B%0A%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20sku%0A%20%20%20%20%20%20id%0A%20%20%20%20%20%20name%0A%20%20%20%20%20%20small_image%20%7B%0A%20%20%20%20%20%20%20%20label%0A%20%20%20%20%20%20%20%20url%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20thumbnail%20%7B%0A%20%20%20%20%20%20%20%20url%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20url_key%0A%20%20%20%20%20%20url_suffix%0A%20%20%20%20%20%20visibility%0A%20%20%20%20%20%20status%0A%20%20%20%20%20%20price_range%20%7B%0A%20%20%20%20%20%20%20%20minimum_price%20%7B%0A%20%20%20%20%20%20%20%20%20%20regular_price%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20value%0A%20%20%20%20%20%20%20%20%20%20%20%20currency%0A%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20final_price%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20value%0A%20%20%20%20%20%20%20%20%20%20%20%20currency%0A%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%20%20%20%20%7D%0A%20%20%7D%0A%7D"

class Scraper:
tab: nodriver.Tab

def __init__(self):
nodriver.loop().run_until_complete(self.main())

async def handle_request(self, event):
print(f"Event: {event}")
request_id = event.request_id
print(f"Request ID: {request_id}")
gen = nodriver.cdp.network.get_response_body(request_id)
print(f"Generator: {gen}")
if event.request.url == url:
print("Probably about to get stuck...")
body = await self.tab.send(gen) # Gets stuck here
print(f"Body: {body}")

async def main(self):
browser = await nodriver.start()
self.tab = browser.main_tab
await self.tab.send(nodriver.cdp.network.enable())
self.tab.add_handler(nodriver.cdp.network.RequestWillBeSent, self.handle_request)
await self.tab.get(url)
await self.tab.wait(t=10)

if __name__ == "__main__":
Scraper()

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post