gpt4 book ai didi

python - 如何加载带参数的起始 URL?

转载 作者:太空宇宙 更新时间:2023-11-04 03:36:23 24 4
gpt4 key购买 nike

假设我的起始 URL 分别与一个 ID 配对,例如 (http://www.foo.com, 53453)。有没有办法在给定响应的情况下读取 parse() 中的 id(假设 response.url 是起始 URL)?有没有办法给响应一个自定义的“有效负载”?我知道我可以进行数据库查找,但我想知道它是否可以在内存中完成。

谢谢

最佳答案

覆盖 start_requests() methodyield Request 实例在 meta 中传递 id词典:

class MySpider(Spider):
def start_requests(self):
items = get_url_and_ids_from_db()
for url, id in items:
yield Request(url, meta={'id': id})

def parse(self, response):
id = response.meta['id']
...

或者,您可以在 __init__() 中从数据库中获取 url->id 映射,并通过 response.url 获取 id > 在 parse() 方法中:

class MySpider(Spider):
def __init__(self, *args, **kwargs):
super(MySpider, self).__init__(*args, **kwargs)

self.mapping = get_url_id_mapping_from_db()

self.start_urls = mapping.keys()

def parse(self, response):
id = self.mapping[response.url]
...

关于python - 如何加载带参数的起始 URL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28837186/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com