python3爬取淘寶信息代碼分析
更新時間:2018年02月10日 14:13:15 作者:追心
本篇文章通過代碼實例給大家分享了python3爬取淘寶信息的過程以及實例分析,對此有興趣的朋友學(xué)習(xí)下。
# encoding:utf-8 import re # 使用正則 匹配想要的數(shù)據(jù) import requests # 使用requests得到網(wǎng)頁源碼
這個函數(shù)是用來得到源碼
# 得到主函數(shù)傳入的鏈接 def getHtmlText(url): try: # 異常處理 # 得到你傳入的URL鏈接 設(shè)置超時時間3秒 r = requests.get(url, timeout=3) # 判斷它的http狀態(tài)碼 r.raise_for_status() # 設(shè)置它的編碼 encoding是設(shè)置它的頭部編碼 apparent_encoding是從返回網(wǎng)頁中分析它的編碼格式 r.encoding = r.apparent_encoding # 返回源代碼 return r.text except: # 發(fā)生異常返回空 return ''
這個函數(shù)使用來解析你的源代碼 獲取你想要的數(shù)據(jù)
# 解析你的網(wǎng)頁信息 def parsePage(ilt, html): # 異常處理 try: # 找到書包的價格 plt = re.findall(r'\"view_price\"\:\"[\d\.]*\"', html) # 找到書包的名稱 tlt = re.findall(r'\"raw_title\"\:\".*?\"', html) # 找到書包的地址 add = re.findall(r'\"item_loc\"\:\".*?\"', html) # 找到書包的圖片鏈接 img = re.findall(r'\"pic_url\"\:\".*?\"', html) # 得到這個內(nèi)容放入主函數(shù)中的列表 for i in range(len(plt)): price = eval(plt[i].split(':')[1]) title = eval(tlt[i].split(':')[1]) address = eval(add[i].split(':')[1]) imgs = eval(img[i].split(':')[1]) ilt.append([price, title, address, imgs]) except: # 放生異常輸出空字符串 print('')
# 得到主函數(shù)傳入的列表 def printGoodsList(ilt): # 每個列之間用tplt的放是隔開 tplt = '{:4}\t{:8}\t{:16}\t{:32}' # 這個是整個的標(biāo)題 print(tplt.format('序號', '價格', '商品名稱','地址', '圖片地址')) count = 0 # 統(tǒng)計有多少的序號 for g in ilt: count = count + 1 # 循環(huán)一遍加一 print(tplt.format(count, g[0], g[1], g[2]), g[3]) # 輸出你得到的數(shù)據(jù)
# 定義主函數(shù) main def main(): goods = '書包' # 你要搜索的東西 depth = 2 # 你想要得到幾頁的東西 start_url = 'https://s.taobao.com/search?q=' + goods # 你搜索的網(wǎng)址加上你的搜索東西 infoList = [] # 自定義的空列表用來存放你的到的數(shù)據(jù) for i in range(depth): # 循環(huán)你的頁數(shù) try: # 異常處理 url = start_url + '&s' + str(44 * i) # 得到你的網(wǎng)址 html = getHtmlText(url) # 得到url傳入到你要得到url的函數(shù)中 parsePage(infoList, html) # 得到你的html源碼 放入解析的網(wǎng)頁中 except: # 發(fā)生異常跳過 continue # 把列表中的數(shù)據(jù)放入解析的函數(shù)中 printGoodsList(infoList)
# 代碼調(diào)試片段 if __name__ == '__main__': main() # 調(diào)用主函數(shù)
以上就是經(jīng)過小編測試過的用python3爬取淘寶信息的代碼,大家測試后如果還有任何不明白的地方可以在下方的留言區(qū)討論。
您可能感興趣的文章:
- python3實現(xiàn)爬取淘寶美食代碼分享
- python 爬蟲一鍵爬取 淘寶天貓寶貝頁面主圖顏色圖和詳情圖的教程
- python定向爬取淘寶商品價格
- python爬蟲爬取淘寶商品信息(selenum+phontomjs)
- Python使用Selenium+BeautifulSoup爬取淘寶搜索頁
- python爬蟲爬取淘寶商品信息
- python爬取淘寶商品詳情頁數(shù)據(jù)
- python登錄并爬取淘寶信息代碼示例
- 通過抓取淘寶評論為例講解Python爬取ajax動態(tài)生成的數(shù)據(jù)(經(jīng)典)
- python實現(xiàn)爬取千萬淘寶商品的方法
- python爬取淘寶商品銷量信息
相關(guān)文章
pandas對dataFrame中某一個列的數(shù)據(jù)進行處理的方法
這篇文章主要介紹了pandas對dataFrame中某一個列的數(shù)據(jù)進行處理的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07Python隨機生成均勻分布在單位圓內(nèi)的點代碼示例
這篇文章主要介紹了Python隨機生成均勻分布在單位圓內(nèi)的點代碼示例,具有一定參考價值,需要的朋友可以了解下。2017-11-11matplotlib如何設(shè)置坐標(biāo)軸刻度的個數(shù)及標(biāo)簽的方法總結(jié)
這里介紹兩種設(shè)置坐標(biāo)軸刻度的方法,一種是利用pyplot提交的api去進行設(shè)置,另一種是通過調(diào)用面向?qū)ο蟮腶pi, 即通過matplotlib.axes.Axes去設(shè)置,需要的朋友可以參考下2021-06-06Python拋出引發(fā)異常(raise)知識點總結(jié)
在本篇文章里小編給大家整理了關(guān)于Python拋出引發(fā)異常(raise)知識點總結(jié)內(nèi)容,有需要的朋友們可以學(xué)習(xí)參考下。2021-06-06