我是新来的剧作家,并试图创建一个Scrapy中间件,使用剧作家提出请求,并返回一个response.body。
问题是,我试图发送头与我的请求,但这两个方法不为我工作:
browser_context.set_extra_http_headers(headers)
或
page.set_extra_http_headers(headers)
我的代码如下所示:
async def navigate_page(self, url, headers):
async with async_playwright() as p:
browser = await p.chromium.launch()
context = await browser.new_context()
# At first I tried this method, but it didn't work, so I decided to set headers with page method
# context.set_extra_http_headers(headers)
page = await context.new_page()
await page.set_extra_http_headers(headers)
await page.goto(url)
print(page.request.headers) # showed nothing, debug also showed empty headers
page_content = await page.content()
await browser.close()
return page_content
我的 headers 变量如下所示:
{'referer': 'some url'}
我很确定我错过了一些东西,但我搜索了谷歌能找到的每一篇文章,绝望地来到这里:)
1条答案
按热度按时间7ivaypg91#
我不知道你是否已经解决了这个问题。我也有类似的问题,我还不明白所有的语法。文档肯定是更好的Javascript。
我可以用下面的代码设置额外的HTTP头: