我的目标是在迭代get_membership_no方法中的for循环时,从解析方法中打印出一些东西。
我使用的是python3.8.5,Scrapy 1.7.3,当我运行下面提到的代码时,我得到了“过滤的离站请求”。以下是控制台输出。

这是我的代码。
import scrapy
import json
class BasisMembersSpider(scrapy.Spider):
name = 'basis'
allowed_domains = ['www.basis.org.bd']
def start_requests(self):
yield scrapy.Request(url="https://basis.org.bd/get-member-list?page=1&team=", callback=self.get_membership_no)
def get_membership_no(self, response):
data_array = json.loads(response.body)['data']
for data in data_array:
yield scrapy.Request(url='https://basis.org.bd/get-company-profile/{0}'.format(data['membership_no']), callback=self.parse)
def parse(self, response):
print("I want to get this line on console. thank you.")发布于 2020-11-23 01:25:58
此行为的原因是您设置了allowed_domains = ['www.basis.org.bd'],它会阻止对basis.org.bd的请求。您可以将allowed_domains完全排除在外,也可以扩展允许的域列表,如下所示:
allowed_domains = ['www.basis.org.bd', 'basis.org.bd']有关详细信息,请参阅allowed_domains here的文档。
https://stackoverflow.com/questions/64876261
复制相似问题