Size: a a a

2018 July 09

B

Bulatbulat48 in Scrapy
в settings
источник

B

Bulatbulat48 in Scrapy
ITEM_PIPELINES = {'scrapy.pipelines.images.ImagesPipeline': 1}
источник

B

Bulatbulat48 in Scrapy
источник

B

Bulatbulat48 in Scrapy
class MyItem(scrapy.Item):

   # ... other item fields ...
   image_urls = scrapy.Field()
   images = scrapy.Field()
источник

B

Bulatbulat48 in Scrapy
добавляешь два поля
источник

B

Bulatbulat48 in Scrapy
и из паука в items передаешь ссылку вроде как
источник

B

Bulatbulat48 in Scrapy
           for img_url in json_resp:
               l = ItemLoader(item=MyItem(), response=response)
               l.add_value('image_urls', img_url['photo_604'])
               yield l.load_item()
источник

B

Bulatbulat48 in Scrapy
вообщем все просто)
источник

B

Bulatbulat48 in Scrapy
а если кастомизировать нужно то крутишь это дело в pipelines.py
источник

B

Bulatbulat48 in Scrapy
class MyImagesPipeline(ImagesPipeline):

   def get_media_requests(self, item, info):
       return [scrapy.Request(x, meta={'image_name': str(item['accession'][0]) + '/' + 'prt_' + x.split('/')[-4]})
               for x in item.get('image_urls', [])]

   
def file_path(self, request, response=None, info=None):
       return '%s.jpg' % request.meta['image_name']
источник

B

Bulatbulat48 in Scrapy
например вот так
источник

B

Bulatbulat48 in Scrapy
надо какой-нить реп завести с faq-ом )
источник

B

Bulatbulat48 in Scrapy
типа как у беггинерсов)
источник

DD

Danil Denysenko in Scrapy
хД
источник

DD

Danil Denysenko in Scrapy
Bulatbulat48
я requests-ом качал
там надо использовать какой-то User agent, если я не ошибаюсь
источник

B

Bulatbulat48 in Scrapy
Danil Denysenko
там надо использовать какой-то User agent, если я не ошибаюсь
ну в реквестс он идет по дефолту, но и в скрапи есть scrapy.request вроде как
источник

B

Bulatbulat48 in Scrapy
@ebadanin можно встроенным scrapy.request делать запрос?
источник

AS

Alexander Serebrov in Scrapy
я в тестах делал))
источник

AS

Alexander Serebrov in Scrapy
думаю можно
источник

AS

Alexander Serebrov in Scrapy
from scrapy.http import HtmlResponse, Request, TextResponse

 
      scrapy_request = Request(
           product_url,
           headers={'meta': meta},
           callback=spider.parse_product_page
       )
       scrapy_response = TextResponse(
           product_url,
           body=response.content,
           request=scrapy_request
       )
       scrapy_response.meta['item'] = meta['item']
       yield spider.parse_product_page(scrapy_response)
источник