亚洲免费在线视频-亚洲啊v-久久免费精品视频-国产精品va-看片地址-成人在线视频网

您的位置:首頁技術文章
文章詳情頁

Python通過正則庫爬取淘寶商品信息代碼實例

瀏覽:3日期:2022-08-04 18:12:50

使用正則庫爬取淘寶商品的商品信息,首先我們需要確定想要爬取的對象

我們在淘寶里搜索“python”,出來的結果

Python通過正則庫爬取淘寶商品信息代碼實例

從url連接中可以得到搜索商品的關鍵字是“q=”,所以我們要用的起始url為:https://s.taobao.com/search?q=python

然后翻頁,經過對比發現,翻頁后,變化的關鍵字是s,每次翻頁,s便以44的倍數增長(可以數一下每頁顯示的商品數量,剛好是44)所以可以根據關鍵字“s=”,來設置爬取的深度(爬取多少頁)

右鍵查看源碼,商品名稱可能的關鍵字是“title”和“raw_title”,進一步多看幾個商品的名稱,發現選取“raw_title”比較合適;商品價格自然就是“view_price”(通過比對淘寶商品展示頁面);所以商品名稱和商品價格分別是以'raw_title':'名稱'和'view_price':'價格',這樣的鍵/值對的形式展示的。

# coding:utf-8import requestsimport regoods = ’水杯’url = ’https://s.taobao.com/search?q=’ + goodsr = requests.get(url=url, timeout=10)html = r.texttlist = re.findall(r’'raw_title':'.*?'’, html) # 正則提取商品名稱plist = re.findall(r’'view_price':'[d.]*'’, html) # 正則提示商品價格print(tlist)print(plist)print(type(plist)) # 正則表達式提取出的商品名稱和商品價格都是以列表形式存儲數據的

利用for循環,把每個商品的名稱和價格組成一個列表,然后把這寫列表再追加到一個大列表中:

goodlist = []for i in range(len(tlist)): title = eval(tlist[i].split(’:’)[1]) # eval()函數簡單說就是用于去掉字符串的引號 price = eval(plist[i].split(’:’)[1]) goodlist.append([title, price]) # 把每個商品的名稱和價格組成一個小列表,然后把所有商品組成的列表追加到一個大列表中 print(goodlist)

大概的思路就是這樣的。

def get_html(url): '''獲取源碼html''' try: r = requests.get(url=url, timeout=10) r.encoding = r.apparent_encoding return r.text except: print('獲取失敗')def get_data(html, goodlist): '''使用re庫解析商品名稱和價格 tlist:商品名稱列表 plist:商品價格列表''' tlist = re.findall(r’'raw_title':'.*?'’, html) plist = re.findall(r’'view_price':'[d.]*'’, html) for i in range(len(tlist)): title = eval(tlist[i].split(’:’)[1]) # eval()函數簡單說就是用于去掉字符串的引號 price = eval(plist[i].split(’:’)[1]) goodlist.append([title, price])def write_data(list, num): # with open(’E:/Crawler/case/taob2.txt’, ’a’) as data: # print(list, file=data) for i in range(num): # num控制把爬取到的商品寫進多少到文本中 u = list[i] with open(’E:/Crawler/case/taob.txt’, ’a’) as data: print(u, file=data)def main(): goods = ’水杯’ depth = 3 # 定義爬取深度,即翻頁處理 start_url = ’https://s.taobao.com/search?q=’ + goods infoList = [] for i in range(depth): try: url = start_url + ’&s=’ + str(44 * i) # 因為淘寶顯示每頁44個商品,第一頁i=0,一次遞增 html = get_html(url) get_data(html, infoList) except: continue write_data(infoList, len(infoList))if __name__ == ’__main__’: main()

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: 淘寶 Python
相關文章:
主站蜘蛛池模板: 免费高清不卡毛片在线看 | 国产a视频 | 清纯偷拍精品视频在线观看 | 国产日韩一区二区三区在线观看 | 91啦丨国产丨 | 免费人成在线观看视频不卡 | 国产成人高清一区二区私人 | 日韩精品亚洲一级在线观看 | 1024香蕉国产在线视频 | 亚洲综合久久综合激情久久 | 久久精品国产半推半就 | 巨大热杵在腿间进进出出视频 | 欧美高清强视频 | 久草在线视频看看 | 一区二区网站在线观看 | 亚洲国产最新在线一区二区 | 成人免费网站在线观看 | 日本高清色视频www 日本高清在线精品一区二区三区 | 亚洲在线视频免费观看 | 欧美理论在线 | 97国产在线视频 | 国产亚洲精品成人久久网站 | 国产精品日本不卡一区二区 | 在线播放精品一区二区啪视频 | 亚洲精品久一区 | 久久成人精品免费播放 | 天天看片天天爽_免费播放 天天看夜夜 | 美女视频免费黄色 | 国产日韩欧美精品一区 | 国产成人啪精品午夜在线观看 | 亚洲精品国自产拍影院 | 久久爱一区| 草久视频在线 | 黄色一级片网址 | 黄在线看| 在线精品免费观看综合 | 日本高清在线精品一区二区三区 | 三级黄色毛片视频 | 国产一区二区三区亚洲综合 | 国产精品久久久久久福利 | 欧美成人免费xxx大片 |