Python 爬虫实战—爬取京东商品列表

标题 Python 爬虫实战—爬取京东商品列表

首先声明,爬取程序有些小缺陷,不能支持中文搜索,爬取的时候可能会卡在,具体原因不明,后期在改进。

import urllib.request
import random
import re
uapools = [
        'user-agent: Mozilla/5.0 (Windows NT 6.1; WOW64)AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.25 Safari/537.36 Core/1.70.3741.400 QQBrowser/10.5.3863.400'
        'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:73.0) Gecko/20100101 Firefox/73.0']
def UA(uapools):
    opener = urllib.request.build_opener()
    thisua=random.choice(uapools)
    ua=('User-Agent',thisua)
    opener.addheaders=[ua]
    urllib.request.install_opener(opener)
    #return UA()
for i in range(2,101):
    keyname = 'Amani'
    key = urllib.request.quote(keyname)

    print('第====='+str(i)+'商品页=====')
    url="https://search.jd.com/Search?keyword="+key+"&page="+str((i*2)-1)+"&s="+str((i-1)*50+6)

    UA(uapools)
    data=urllib.request.urlopen(url).read().decode('utf-8','ignore')
    pat='=re.compile(pat,re.S).findall(data)
    print(idlist)
    for j in range(0,len(idlist)):
        thisid=idlist[j]
        thisurl="https://item.jd.com/"+thisid+'.html'
        itemdata=urllib.request.urlopen(thisurl).read().decode('gbk','ignore')
        #print(itemdata)
        titlepat='
(.*?)
'
title=re.compile(titlepat,re.S).findall(itemdata) if (len(title)>0): title=title[0] else: continue print('商品名=',str(title) #商品名= 阿玛尼(ARMANI)造型紧颜粉底液4# 30ml(自然偏白 水润 轻薄 净透无瑕 新老包装随机发放) 商品名= EA7 EMPORIO ARMANI阿玛尼男装奢侈品男士T恤衫 WHITE-1100 L 商品名= Armani Exchange/阿玛尼男装 男士时尚百搭休闲圆领短袖T恤8NZT84 黑色1200 L 商品名= EMPORIO ARMANI UNDERWEAR 阿玛尼奢侈品男士袜子(三双装) 302402-9A282 NAYGRY-10735 U 商品名= <a href="//item.jd.com/51112579543.html" target="_blank">阿玛尼(GIORGIO ARMANI)奢侈品男士短袖t恤ea7新品男装6Z1TP5 1JTUZ 黑色 L</a> 商品名= ARMANI EXCHANGE/阿玛尼男装ax系列短袖奢侈品男士修身休闲圆领t恤 蓝色1562 M 商品名= EA7 EMPORIO ARMANI 阿玛尼奢侈品男士外套 6GPB32-PNC3Z BLACK-2206 XL 商品名= ARMANI EXCHANGE 阿玛尼奢侈品男士字母印花图案针织T恤衫 3GZTAW-ZJE6Z BLACK-1200 XL 商品名= Armani Exchange/阿玛尼男装 男士时尚百搭休闲圆领短袖T恤8NZT84 黑色1200 M 商品名= Armani阿玛尼奢侈品男装短袖男士POLO衫T恤春夏新款 暗蓝色 XL 商品名= 阿玛尼(ARMANI)无痕持妆粉底液 3.5 (冷调柔白色 保湿控油 轻薄 服帖 遮瑕 权力粉底液) 。。。。。。。。。。。。。。。 #商品名是在thisurl="https://item.jd.com/"+thisid+'.html' #这个网址内提取

你可能感兴趣的:(Python 爬虫实战—爬取京东商品列表)