程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

【python爬蟲】爬取淘寶網商品信息

編輯:Python

相信學了python爬蟲,很多人都想爬取一些數據量比較大的網站,淘寶網就是一個很好的目標,其數據量大,而且種類繁多,而且難度不是很大,很適合初級學者進行爬取。下面是整個爬取過程:

第一步:構建訪問的url

#構建訪問的url
goods = "魚尾裙"
page = 10
infoList = []
url = 'https://s.taobao.com/search'
for i in range(page):
s_num = str(44*i+1)
num = 44*i
data = {'q':goods,'s':s_num}

第二步:獲取網頁信息

def getHTMLText(url,data):
try:
rsq = requests.get(url,params=data,timeout=30)
rsq.raise_for_status()
return rsq.text
except:
return "沒找到頁面"

第三步:利用正則獲取所需數據

def parasePage(ilt, html,goods_id):
try:
plt = re.findall(r'\"view_price\"\:\"[\d\.]*\"', html)
slt = re.findall(r'\"view_sales\"\:\".*?\"', html)
tlt = re.findall(r'\"raw_title\"\:\".*?\"', html)
ult = re.findall(r'\"pic_url\"\:\".*?\"', html)
dlt = re.findall(r'\"detail_url\"\:\".*?\"', html)
for i in range(len(plt)):
goods_id += 1
price = eval(plt[i].split(':')[1])
sales = eval(slt[i].split(':')[1])
title = eval(tlt[i].split(':')[1])
pic_url = "https:" + eval(ult[i].split(':')[1])
detail_url = "https:" + eval(dlt[i].split(':')[1])
ilt.append([goods_id,price,sales,title,pic_url,detail_url])
return ilt
except:
print("沒找到您所需的商品!")

第四步:將數據保存到csv文件

def saveGoodsList(ilt):
with open('goods.csv','w') as f:
writer = csv.writer(f)
writer.writerow(["序列號", "價格", "成交量", "商品名稱","商品圖片網址","商品詳情網址"])
for info in ilt:
writer.writerow(info)

 

結果如下圖:

以上就是我的分享,如果有什麼不足之處請指出,多交流,謝謝!

想獲取更多數據或定制爬蟲的請私信我。


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved