Skip to content

Commit 42a1080

Browse files
authored
Add kwargs to parse in examples to be compatible with base class (#241)
1 parent 3122f9c commit 42a1080

11 files changed

+19
-19
lines changed

README.md

+9-9
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ class AwesomeSpider(scrapy.Spider):
9898
meta={"playwright": True},
9999
)
100100

101-
def parse(self, response):
101+
def parse(self, response, **kwargs):
102102
# 'response' contains the page as seen by the browser
103103
return {"url": response.url}
104104
```
@@ -430,7 +430,7 @@ def start_requests(self):
430430
meta={"playwright": True, "playwright_include_page": True},
431431
)
432432

433-
def parse(self, response):
433+
def parse(self, response, **kwargs):
434434
page = response.meta["playwright_page"]
435435
yield scrapy.Request(
436436
url="https://httpbin.org/headers",
@@ -467,7 +467,7 @@ about the give response. Only available for HTTPS requests. Could be accessed
467467
in the callback via `response.meta['playwright_security_details']`
468468

469469
```python
470-
def parse(self, response):
470+
def parse(self, response, **kwargs):
471471
print(response.meta["playwright_security_details"])
472472
# {'issuer': 'DigiCert TLS RSA SHA256 2020 CA1', 'protocol': 'TLS 1.3', 'subjectName': 'www.example.org', 'validFrom': 1647216000, 'validTo': 1678838399}
473473
```
@@ -609,7 +609,7 @@ you can access a context though the corresponding [`Page.context`](https://playw
609609
attribute, and await [`close`](https://playwright.dev/python/docs/api/class-browsercontext#browser-context-close) on it.
610610

611611
```python
612-
def parse(self, response):
612+
def parse(self, response, **kwargs):
613613
yield scrapy.Request(
614614
url="https://example.org",
615615
callback=self.parse_in_new_context,
@@ -672,7 +672,7 @@ class ProxySpider(Spider):
672672
def start_requests(self):
673673
yield Request("http://httpbin.org/get", meta={"playwright": True})
674674

675-
def parse(self, response):
675+
def parse(self, response, **kwargs):
676676
print(response.text)
677677
```
678678

@@ -741,7 +741,7 @@ def start_requests(self):
741741
},
742742
)
743743

744-
def parse(self, response):
744+
def parse(self, response, **kwargs):
745745
screenshot = response.meta["playwright_page_methods"][0]
746746
# screenshot.result contains the image's bytes
747747
```
@@ -754,7 +754,7 @@ def start_requests(self):
754754
meta={"playwright": True, "playwright_include_page": True},
755755
)
756756

757-
async def parse(self, response):
757+
async def parse(self, response, **kwargs):
758758
page = response.meta["playwright_page"]
759759
screenshot = await page.screenshot(path="example.png", full_page=True)
760760
# screenshot contains the image's bytes
@@ -846,7 +846,7 @@ class ClickAndSavePdfSpider(scrapy.Spider):
846846
),
847847
)
848848

849-
def parse(self, response):
849+
def parse(self, response, **kwargs):
850850
pdf_bytes = response.meta["playwright_page_methods"]["pdf"].result
851851
with open("iana.pdf", "wb") as fp:
852852
fp.write(pdf_bytes)
@@ -873,7 +873,7 @@ class ScrollSpider(scrapy.Spider):
873873
),
874874
)
875875

876-
async def parse(self, response):
876+
async def parse(self, response, **kwargs):
877877
page = response.meta["playwright_page"]
878878
await page.screenshot(path="quotes.png", full_page=True)
879879
await page.close()

examples/contexts.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ def start_requests(self):
9595
dont_filter=True,
9696
)
9797

98-
async def parse(self, response):
98+
async def parse(self, response, **kwargs):
9999
page = response.meta["playwright_page"]
100100
context_name = response.meta["playwright_context"]
101101
storage_state = await page.context.storage_state()

examples/download.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ def start_requests(self):
2020
meta={"playwright": True},
2121
)
2222

23-
def parse(self, response):
23+
def parse(self, response, **kwargs):
2424
if filename := response.meta.get("playwright_suggested_filename"):
2525
(Path(__file__).parent / filename).write_bytes(response.body)
2626
yield {

examples/events.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -37,5 +37,5 @@ async def handle_dialog(self, dialog: Dialog) -> None:
3737
async def handle_response(self, response: PlaywrightResponse) -> None:
3838
self.logger.info(f"Received response with URL {response.url}")
3939

40-
def parse(self, response):
40+
def parse(self, response, **kwargs):
4141
return {"url": response.url}

examples/exception_middleware.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,6 @@ def start_requests(self):
5050
meta={"playwright": True},
5151
)
5252

53-
def parse(self, response):
53+
def parse(self, response, **kwargs):
5454
logging.info("Received response for %s", response.url)
5555
yield {"url": response.url}

examples/headers.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,6 @@ def start_requests(self):
3737
cookies={"foo": "bar"},
3838
)
3939

40-
def parse(self, response):
40+
def parse(self, response, **kwargs):
4141
headers = json.loads(response.css("pre::text").get())["headers"]
4242
yield {"url": response.url, "headers": headers}

examples/init_page.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ def start_requests(self):
2828
},
2929
)
3030

31-
def parse(self, response):
31+
def parse(self, response, **kwargs):
3232
json_str = response.css("pre::text").get()
3333
print(json_str)
3434
return {"data": json.loads(json_str)}

examples/max_pages.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ def start_requests(self):
4141
meta={"playwright": True, "playwright_context": "b"},
4242
)
4343

44-
def parse(self, response):
44+
def parse(self, response, **kwargs):
4545
return {"url": response.url}
4646

4747
async def errback(self, failure):

examples/post.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -30,5 +30,5 @@ def start_requests(self):
3030
},
3131
)
3232

33-
def parse(self, response):
33+
def parse(self, response, **kwargs):
3434
yield {"url": response.url}

examples/scroll.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -34,5 +34,5 @@ def start_requests(self):
3434
},
3535
)
3636

37-
def parse(self, response):
37+
def parse(self, response, **kwargs):
3838
return {"url": response.url, "count": len(response.css("div.quote"))}

examples/storage.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ def start_requests(self):
2626
},
2727
)
2828

29-
async def parse(self, response):
29+
async def parse(self, response, **kwargs):
3030
page = response.meta["playwright_page"]
3131
storage_state = await page.context.storage_state()
3232
await page.close()

0 commit comments

Comments
 (0)