私はScrapyスパイダーがうまく走っています。 私がする必要があるのは、内部の解析メソッドからAPIコールを作成し、同じアイテムの同じメソッドで応答の結果を使用することです。これはどうすればいいですか?唯一の単純なことは、Pythonのリクエストライブラリを使用することですが、これがscrapingで動作し、さらにscrapinghubで動作するかどうかはわかりません。組み込みのソリューションはありますか? 例を示します。治療。要求結果を呼び出しメソッドに返す方法私は、scrapyの内部でPythonリクエストライブラリを使用できますか?
def agency(self, response):
# inspect_response(response, self)
agents = response.xpath('//a[contains(@class,"agency-carousel__item")]')
Agencie_Name = response.xpath('//h1[@class = "agency-header__name"]/text()').extract_first()
Business_Adress = response.xpath('//div[@class = "agency-header__address"]//text()').extract()
Phone = response.xpath('//span[@class = "modal-item__text"]/text()').extract_first()
Website = response.xpath('//span[@class = "modal-item__text"][contains(text(),"Website")]/../@href').extract_first()
if Website:
pass
# 1 send request to hunter io and get pattern. Apply to entire team. Pass as meta
# do smth with this pattern in here using info from this page.
だからここに私はnormaly scrapy応答からすべての情報を抽出し、Webサイトの変数が移入された場合、私はこのドメインの電子メールのパターンを取得し、同じ方法で電子メールを生成するためにそれを使用するためにioのハンターへのAPIコールを送信する必要があります。 それが意味することを望む。
リクエストライブラリは非同期ではなく、ブロックされます。私は原子炉(Deferedを生み出す)に直接作業するか、セロリを使って電子メールを送ることを提案します。 –
@AndrésPérez-Albela H何がブロックされますか?あなたは治療でうまくいかない、または全体を遅くすることを意味しますか?また、私は電子メールを送信する必要はありません、私はちょうどこのページからの情報を新たに受信した後のパターンで作業する必要があります。おそらく、同じページに別のメタデータを要求してしまい、非効率的になります。 –