-1
私はレビューでいくつかのアプリの詳細を取得しようとしています。問題は、各アプリの詳細をレビューに関連付ける方法がわからないことです。コードサンプルを以下に示します:Scrapy:レビュー付きのGoogle Playアプリページをクロールする
def parse(self, response):
l = ItemLoader(item=GamesScraperItem(), response=response)
#Get the details of the app here
#...
url = "https://play.google.com/store/getreviews"
#...
for num in range(111):
form_data = {"id": _id, "reviewType": '0', "reviewSortOrder": '4', "pageNum": str(num),"xhr": '1'}
sleep(5)
yield FormRequest(url=url,headers=headers_data, formdata=form_data,callback=self.parse_reviews)
def parse_reviews(self, response):
response_data = re.findall("\[\[.*", response.body)
if response_data:
try:
text = json.loads(response_data[0] + ']')
sell = Selector(text=text[0][2])
except:
pass
#Get a list of reviews data
#...
すべてのレビューを1つのリストに参加させてから、アプリケーションの詳細に追加する方法があります。
ありがとうございました。
あなたはtime.sleep' scrapyがasynchroniousであり、それはわずか数ブロックのすべてを、試してみてください '使うべきではない[' download_delay'設定](https://doc.scrapy.org/en/latest/topics/settings .html#download-delay) – Granitosaurus