您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關python爬取淘寶商品信息的示例分析的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
具體內容如下
1、需求目標 :
進去淘寶頁面,搜索耐克關鍵詞,抓取 商品的標題,鏈接,價格,城市,旺旺號,付款人數,進去第二層,抓取商品的銷售量,款號等。
2、結果展示
3、源代碼
# encoding: utf-8 import sys reload(sys) sys.setdefaultencoding('utf-8') import time import pandas as pd time1=time.time() from lxml import etree from selenium import webdriver #########自動模擬 driver=webdriver.PhantomJS(executable_path='D:/Python27/Scripts/phantomjs.exe') import re #################定義列表存儲############# title=[] price=[] city=[] shop_name=[] num=[] link=[] sale=[] number=[] #####輸入關鍵詞耐克(這里必須用unicode) keyword="%E8%80%90%E5%85%8B" for i in range(0,1): try: print "...............正在抓取第"+str(i)+"頁..........................." url="https://s.taobao.com/search?q=%E8%80%90%E5%85%8B&imgfile=&js=1&stats_click=search_radio_all%3A1&initiative_id=staobaoz_20170710&ie=utf8&bcoffset=4&ntoffset=4&p4ppushleft=1%2C48&s="+str(i*44) driver.get(url) time.sleep(5) html=driver.page_source selector=etree.HTML(html) title1=selector.xpath('//div[@class="row row-2 title"]/a') for each in title1: print each.xpath('string(.)').strip() title.append(each.xpath('string(.)').strip()) price1=selector.xpath('//div[@class="price g_price g_price-highlight"]/strong/text()') for each in price1: print each price.append(each) city1=selector.xpath('//div[@class="location"]/text()') for each in city1: print each city.append(each) num1=selector.xpath('//div[@class="deal-cnt"]/text()') for each in num1: print each num.append(each) shop_name1=selector.xpath('//div[@class="shop"]/a/span[2]/text()') for each in shop_name1: print each shop_name.append(each) link1=selector.xpath('//div[@class="row row-2 title"]/a/@href') for each in link1: kk="https://" + each link.append("https://" + each) if "https" in each: print each driver.get(each) else: print "https://" + each driver.get("https://" + each) time.sleep(3) html2=driver.page_source selector2=etree.HTML(html2) sale1=selector2.xpath('//*[@id="J_DetailMeta"]/div[1]/div[1]/div/ul/li[1]/div/span[2]/text()') for each in sale1: print each sale.append(each) sale2=selector2.xpath('//strong[@id="J_SellCounter"]/text()') for each in sale2: print each sale.append(each) if "tmall" in kk: number1 = re.findall('<ul id="J_AttrUL">(.*?)</ul>', html2, re.S) for each in number1: m = re.findall('>*號: (.*?)</li>', str(each).strip(), re.S) if len(m) > 0: for each2 in m: print each2 number.append(each2) else: number.append("NULL") if "taobao" in kk: number2=re.findall('<ul class="attributes-list">(.*?)</ul>',html2,re.S) for each in number2: h=re.findall('>*號: (.*?)</li>', str(each).strip(), re.S) if len(m) > 0: for each3 in h: print each3 number.append(each3) else: number.append("NULL") if "click" in kk: number.append("NULL") except: pass print len(title),len(city),len(price),len(num),len(shop_name),len(link),len(sale),len(number) # # # ######數據框 data1=pd.DataFrame({"標題":title,"價格":price,"旺旺":shop_name,"城市":city,"付款人數":num,"鏈接":link,"銷量":sale,"款號":number}) print data1 # 寫出excel writer = pd.ExcelWriter(r'C:\\taobao_spider2.xlsx', engine='xlsxwriter', options={'strings_to_urls': False}) data1.to_excel(writer, index=False) writer.close() time2 = time.time() print u'ok,爬蟲結束!' print u'總共耗時:' + str(time2 - time1) + 's' ####關閉瀏覽器 driver.close()
感謝各位的閱讀!關于“python爬取淘寶商品信息的示例分析”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。