用python3采集阿里巴巴国际站商品:上

如果你是搞跨境电商独立站的,而你又打算用SEO的方式做推广,你会发现你需要采集这个功能。采集的工具很多,除了火车头、八爪鱼外,还有很多工具都可以实现采集。然而入坑后你会发现,采集工具学起来并不简单,购买现成的采集规则又挺贵的,更总要的是,采集工具在很多时候根本无法满足自己的需求。

我首先想到的是python3,因为到处都在说它的强大,说它如何的适合用来采集数据。通过几个星期的学习,终于搞定了。我的基本思路是,首先通过关键词搜索出产品列表,然后把这些产品的url采集下来,然后逐条的采集这些产品内容。产品列表的url是有规律的,只要用循环功能改变其中的一个数字参数,就可以实现了。我们再通过正则,提取产品的url。代码如下:

import requests,re,csv
'''
该程序用于采集阿里巴巴产品url,通过输入产品列表url、url动态参数及保存位置,即可快速采集阿里巴巴相关分类产品的url。
'''
'''采集函数开始'''
def urlpro(url,a,):
    target =url+a
    req = requests.get(url=target) #抓取到的内容
    html=req.text #转化为字符串类型
    mopro=re.compile('\/\/www\.alibaba\.com\/product-detail\/.*?[0-9]{*}?\.html')
    proURL=mopro.findall(html)
    proURL=list(proURL)
    proURL=set(proURL)
    proURL=list(proURL)
    
    for i in proURL:
        i=re.sub('//','https://',i)
        i=[i] #把字符串变成列表,然后用writer()方法存入csv表格
        csvFile=open(c,'a')
        writer=csv.writer(csvFile)
        writer.writerow(i)
        csvFile.close()
'''采集函数结束'''
a=0
b=1
print('输入要采集的网址(https://www.alibaba.com/products/custom_hat.html?spm=a2700.galleryofferlist.0.0.2ea9208dkdN6Um&IndexArea=product_en&page=3,不要后面的3):')
url=str(input())
print('输入要采集的页数(比如:3):')
a=int(input())
print('要保存的位置(例:/Users/gaotiansong/Desktop/custom_shirt/custom_shirt.csv):')
c=str(input())

for i in range(a+1):
    n=str(i+1)
    urlpro(url,n)
    print('采集完',b,'页')
    b=b+1
    if b == a+1:
        print('采集完毕,一共采集了',b-1,'页')
        break

下期再公布采集商品内容的代码。.

此条目发表在python3爬虫分类目录,贴了, , 标签。将固定链接加入收藏夹。

发表评论