【发布时间】:2019-11-07 03:30:51
【问题描述】:
我正在尝试抓取 this 页面(主页),我已经完成了。
现在我想要的是通过进入每个产品页面来抓取所有图像。
所以它应该像从主页到产品页面下载所有产品图像,回到主页然后到下一个产品页面等等。
我使用了requests 库,下面是我从主页获取名称和图像的代码
如何扩展此代码以从产品页面获取产品图像
url = 'https://middleware.paytmmall.com/fmcg-foods-glpid-101405'
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.131 Safari/537.36'}
payload = {
'channel': 'web',
'child_site_id': '6',
'site_id': '2',
'version': '2',
'discoverability': 'online',
'use_mw': '1',
'category': '101405',
'page': '1',
'page_count': '1',
'items_per_page': '32'}
#total pages needed
jsonData = requests.post(url, headers=headers, data=payload).json()
total_count = jsonData['totalCount']
total_pages = total_count / 32
pages = math.ceil(total_pages)
from pandas import DataFrame
NAME = []
IMG = []
for page in range(1,pages + 1):
payload.update({'page':page, 'page_count':page})
jsonData = requests.post(url, headers=headers, data=payload).json()
for product in jsonData['grid_layout']:
name = product['name']
img = product['image_url']
print ('Name: %s\nImage: %s\n' %(name, img))
NAME.append(name)
IMG.append(img)
例如:this 是主页上第一个产品的页面,我想从那里下载所有产品图片,然后返回主页并转到下一个产品页面。
【问题讨论】:
标签: python web-scraping beautifulsoup scrapy python-requests