午夜剧场伦理_日本一道高清_国产又黄又硬_91黄色网战_女同久久另类69精品国产_妹妹的朋友在线

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Python通過(guò)正則庫(kù)爬取淘寶商品信息代碼實(shí)例

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

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

我們?cè)谔詫毨锼阉鳌皃ython”,出來(lái)的結(jié)果

Python通過(guò)正則庫(kù)爬取淘寶商品信息代碼實(shí)例

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

然后翻頁(yè),經(jīng)過(guò)對(duì)比發(fā)現(xiàn),翻頁(yè)后,變化的關(guān)鍵字是s,每次翻頁(yè),s便以44的倍數(shù)增長(zhǎng)(可以數(shù)一下每頁(yè)顯示的商品數(shù)量,剛好是44)所以可以根據(jù)關(guān)鍵字“s=”,來(lái)設(shè)置爬取的深度(爬取多少頁(yè))

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

# 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) # 正則提示商品價(jià)格print(tlist)print(plist)print(type(plist)) # 正則表達(dá)式提取出的商品名稱和商品價(jià)格都是以列表形式存儲(chǔ)數(shù)據(jù)的

利用for循環(huán),把每個(gè)商品的名稱和價(jià)格組成一個(gè)列表,然后把這寫列表再追加到一個(gè)大列表中:

goodlist = []for i in range(len(tlist)): title = eval(tlist[i].split(’:’)[1]) # eval()函數(shù)簡(jiǎn)單說(shuō)就是用于去掉字符串的引號(hào) price = eval(plist[i].split(’:’)[1]) goodlist.append([title, price]) # 把每個(gè)商品的名稱和價(jià)格組成一個(gè)小列表,然后把所有商品組成的列表追加到一個(gè)大列表中 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庫(kù)解析商品名稱和價(jià)格 tlist:商品名稱列表 plist:商品價(jià)格列表''' 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()函數(shù)簡(jiǎn)單說(shuō)就是用于去掉字符串的引號(hào) 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控制把爬取到的商品寫進(jìn)多少到文本中 u = list[i] with open(’E:/Crawler/case/taob.txt’, ’a’) as data: print(u, file=data)def main(): goods = ’水杯’ depth = 3 # 定義爬取深度,即翻頁(yè)處理 start_url = ’https://s.taobao.com/search?q=’ + goods infoList = [] for i in range(depth): try: url = start_url + ’&s=’ + str(44 * i) # 因?yàn)樘詫氾@示每頁(yè)44個(gè)商品,第一頁(yè)i=0,一次遞增 html = get_html(url) get_data(html, infoList) except: continue write_data(infoList, len(infoList))if __name__ == ’__main__’: main()

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: 淘寶 Python
相關(guān)文章:
主站蜘蛛池模板: 伊人精品综合 | a在线免费观看 | 精品国产一二三区 | 丁香婷婷六月 | 91色中文 | 逼逼爱插插网站 | 亚洲自拍天堂 | h视频免费在线观看 | 欧美一区二区免费在线观看 | 成人毛片一区二区三区 | 日韩欧美小说 | 中文字幕免费看 | 色综合色综合色综合 | 国产一区成人 | 中文字幕五月 | 极品闺蜜苏姨小说阅读 | 在线观看中文字幕 | 美国黄色大片 | 国产又粗又猛又黄又爽 | 都市激情综合 | 在线只有精品 | 成年人在线观看网站 | 天堂中文字幕在线 | 九九国产| 日韩欧美一级 | 草草草在线观看 | 国产精品美女久久久 | jizz中国少妇 | 九九午夜 | 日韩有码一区 | 草草草在线观看 | 欧美一区二区视频在线观看 | 久射久 | 日韩一区二区在线观看视频 | 免费毛片在线 | 91网页在线观看 | 欧美理论片在线观看 | 成人精品一区二区三区中文字幕 | 日本美女在线视频 | 四虎影院在线播放 | 午夜一级视频 |