下载麻将游戏免费|手机麻将游戏

爬取了20萬淘寶店鋪信息,我能干些什么?

飛來科技  發布時間:2019-08-22 21:08:34

本文關鍵詞:淘寶最大的爬蟲店

淘寶最大的爬蟲店_大v店的書便宜還是淘寶_淘寶最大的爬蟲店

下午,寫了個簡單的多進程爬蟲,按照熱門品類,爬取了網店C點的20多萬店鋪信息。

獲取了網店名、賣家昵稱、店鋪ID、店鋪區域、店鋪商品總量、店鋪業績、店鋪好評率、店鋪等級等等信息。

主要模式為:

淘寶最大的爬蟲店_大v店的書便宜還是淘寶_淘寶最大的爬蟲店

一、從天貓網店搜索頁面獲取熱門的品類信息;

def get_taobao_cate():
    url = 'https://shopsearch.taobao.com/search?app=shopsearch'
    driver = webdriver.PhantomJS(executable_path="F:\\phantomjs.exe")
    driver.get(url)
    driver.implicitly_wait(3)
    page = driver.page_source
    soup = BeautifulSoup(page,'lxml')
    cate_name = re.findall(r"q=(.*?)&tracelog=shopsearchnoqcat",str(soup))
    for c in cate_name:
        cname = urllib.parse.unquote(c,encoding='gb2312')
        cate_list.append(c)
        print(cname)
    print(cate_list)

二、按照熱門品類信息,對店鋪進行搜索,使用進程池Pool;

大v店的書便宜還是淘寶_淘寶最大的爬蟲店_淘寶最大的爬蟲店

# 多線程執行 
pool = TheaderPool(processes=4) 
pool.map_async(get_seller_from_num,range(0,10020,20)) 
pool.close() 
pool.join()

三、解析淘寶搜索結果的Json數據,獲取店鋪信息;

def get_taobao_seller(keywords):
    # 爬取指定數量的店鋪信息
    def get_seller_from_num(nums):
        url = "https://shopsearch.taobao.com/search?data-key=s&data-value={0}&ajax=true&_ksTS=1481770098290_1972&callback=jsonp602&app=shopsearch&q={1}&js=1&isb=0".format(nums,keywords)
        # url = "https://shopsearch.taobao.com/search?data-key=s&data-value={0}&ajax=true&callback=jsonp602&app=shopsearch&q={1}".format(nums,keywords)
        wbdata = requests.get(url).text[11:-2]
        data = json.loads(wbdata)
        shop_list = data['mods']['shoplist']['data']['shopItems']
        for s in shop_list:
            name = s['title'] # 店鋪名
            nick = s['nick'] # 賣家昵稱
            nid = s['nid'] # 店鋪ID
            provcity = s['provcity'] # 店鋪區域
            shopUrl = s['shopUrl'] # 店鋪鏈接
            totalsold = s['totalsold'] # 店鋪寶貝數量
            procnt = s['procnt'] # 店鋪銷量
            startFee = s['startFee'] # 未知
            mainAuction = s['mainAuction'] # 店鋪關鍵詞
            userRateUrl = s['userRateUrl'] # 用戶評分鏈接
            dsr = json.loads(s['dsrInfo']['dsrStr'])
            goodratePercent = dsr['sgr']  # 店鋪好評率
            srn = dsr['srn'] # 店鋪等級
            category = dsr['ind'] # 店鋪分類
            mas = dsr['mas'] # 描述相符
            sas = dsr['sas']  # 服務態度
            cas = dsr['cas']  # 物流速度
            data = {
                'name':name,
                'nick':nick,
                'nid':nid,
                'provcity':provcity,
                'shopUrl':shopUrl,
                'totalsold':totalsold,
                'procnt':procnt,
                'startFee':startFee,
                'goodratePercent':goodratePercent,
                # 'mainAuction':mainAuction,
                'userRateUrl':userRateUrl,
                'srn':srn,
                'category':category,
                'mas':mas,
                'sas':sas,
                'cas':cas
            }
            print(data)
            seller_info.insert_one(data)
            print("插入數據成功")

淘寶最大的爬蟲店_淘寶最大的爬蟲店_大v店的書便宜還是淘寶

最后,用多進程執行:

if __name__ == '__main__':
    pool = Pool(processes=4)
    pool.map_async(get_taobao_seller,cate_list)
    pool.close()
    pool.join()

部分圖片如下所示:

大v店的書便宜還是淘寶_淘寶最大的爬蟲店_淘寶最大的爬蟲店

當應該插入不重復的值(有唯一索引),常規的插入就需要先判定是否存在,然后再進行插入,這個在應該批量插入數據時,需要循環查詢判斷,如果使用replace insert和insert ignore into語句就不需要這樣做淘寶最大的爬蟲店,insert ignore into很好理解,對比唯一索引,如果存在直接跳過,而replace insert是指存在時,對存在的數據行進行升級,準確來說應該是對存在的數據行進行刪除,然后插入新的。在沒有戰法攻擊的情況下下,孫策的防御輕松克死我方的突擊后剩幾百點血,孫策的突擊克死對方的防御剩一點點血,攻擊克死我方的進攻剩一點血,還有孫策防守較量對方內線也能剩一點血就可,多少血無所謂但一定要剩一點血,同歸于盡說明實力不行,或者裝備沒調整到位。王磊,創始人兼ceo,阿里云全球首批mvp淘寶最大的爬蟲店,曾兼任阿里集團大數據研發隊伍負責人,阿里大數據交換系統團隊負責人,大數據領域頂尖開源軟件datax作者及發起人,已涉足大數據和人工智能領域10年。

爬蟲雖粗糙,數據還是拿出來了,接下來,用很多數據干些什么呢?

本文來自互聯網,由機器人自動采編,文章內容不代表本站觀點,請讀者自行辨別信息真偽,如有發現不適內容,請及時聯系站長處理。

    下载麻将游戏免费 快速时时开奖网址 福彩快三投注技巧 江苏时时计划软件破解版 吉祥三公下载 升国际娱乐 有财神捕鱼的棋牌 259彩票网是正规的吗 西甲赛程 全国最大彩票平台 美职篮比分直播