日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

网络爬虫:商品比价定向爬虫

發布時間:2023/12/20 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 网络爬虫:商品比价定向爬虫 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

商品比價定向爬蟲

Copyright: Jingmin Wei, Pattern Recognition and Intelligent System, School of Artificial and Intelligence, Huazhong University of Science and Technology

網絡爬蟲專欄鏈接


文章目錄

      • 商品比價定向爬蟲
        • Reference
        • 功能描述
        • 定向爬蟲可行性
        • 程序的結構設計
        • 程序編寫
        • 源代碼
        • 輸出結果(部分)
        • 總結


本教程主要參考中國大學慕課的 Python 網絡爬蟲與信息提取,為個人學習筆記。

在學習過程中遇到了一些問題,都手動記錄并且修改更正,保證所有的代碼為有效。且結合其他的博客總結了一些常見問題的解決方式。

本教程不商用,僅為學習參考使用。如需轉載,請聯系本人。

Reference

爬蟲 MOOC

數據分析 MOOC

廖雪峰老師的 Python 教程

功能描述

目標:獲取某平臺搜索頁面的信息,提取其中的商品名稱和價格。

理解:

  • 某平臺的搜索接口

  • 翻頁的處理

搜索接口和翻頁的URL對應屬性:

“書包”

定向爬蟲可行性

我們是類人行為,本實例僅探討技術實現,即是以人類行為訪問網站。

請注意,不要不加限制地爬取。

程序的結構設計

步驟1:提交商品搜索請求,循環獲取頁面

步驟2:對于每個頁面,提取商品名稱和價格信息

步驟3:將信息輸出到屏幕上

程序編寫

價格:

名字:

只需將 view_priceraw_title 從眾多信息中提取出來即可

源代碼

# -*- coding:utf-8 -*-import requests import re#需要修改requests.get()方法中控制訪問的參數headers,解決網站的反爬問題 headers = {'cookie':'thw=cn; v=0; t=ab66dffdedcb481f77fd563809639584; cookie2=1f14e41c704ef58f8b66ff509d0d122e; _tb_token_=5e6bed8635536; cna=fGOnFZvieDECAXWIVi96eKju; unb=1864721683; sg=%E4%B8%8B3f; _l_g_=Ug%3D%3D; skt=83871ef3b7a49a0f; cookie1=BqeGegkL%2BLUif2jpoUcc6t6Ogy0RFtJuYXR4VHB7W0A%3D; csg=3f233d33; uc3=vt3=F8dBy3%2F50cpZbAursCI%3D&id2=UondEBnuqeCnfA%3D%3D&nk2=u%2F5wdRaOPk21wDx%2F&lg2=VFC%2FuZ9ayeYq2g%3D%3D; existShop=MTU2MjUyMzkyMw%3D%3D; tracknick=%5Cu4E36%5Cu541B%5Cu4E34%5Cu4E3F%5Cu5929%5Cu4E0B; lgc=%5Cu4E36%5Cu541B%5Cu4E34%5Cu4E3F%5Cu5929%5Cu4E0B; _cc_=WqG3DMC9EA%3D%3D; dnk=%5Cu4E36%5Cu541B%5Cu4E34%5Cu4E3F%5Cu5929%5Cu4E0B; _nk_=%5Cu4E36%5Cu541B%5Cu4E34%5Cu4E3F%5Cu5929%5Cu4E0B; cookie17=UondEBnuqeCnfA%3D%3D; tg=0; enc=2GbbFv3joWCJmxVZNFLPuxUUDA7QTpES2D5NF0D6T1EIvSUqKbx15CNrsn7nR9g%2Fz8gPUYbZEI95bhHG8M9pwA%3D%3D; hng=CN%7Czh-CN%7CCNY%7C156; mt=ci=32_1; alitrackid=www.taobao.com; lastalitrackid=www.taobao.com; swfstore=97213; x=e%3D1%26p%3D*%26s%3D0%26c%3D0%26f%3D0%26g%3D0%26t%3D0%26__ll%3D-1%26_ato%3D0; uc1=cookie16=UtASsssmPlP%2Ff1IHDsDaPRu%2BPw%3D%3D&cookie21=UIHiLt3xThH8t7YQouiW&cookie15=URm48syIIVrSKA%3D%3D&existShop=false&pas=0&cookie14=UoTaGqj%2FcX1yKw%3D%3D&tag=8&lng=zh_CN; JSESSIONID=A502D8EDDCE7B58F15F170380A767027; isg=BMnJJFqj8FrUHowu4yKyNXcd2PXjvpa98f4aQWs-RbDvsunEs2bNGLfj8BYE6lWA; l=cBTDZx2mqxnxDRr0BOCanurza77OSIRYYuPzaNbMi_5dd6T114_OkmrjfF96VjWdO2LB4G2npwJ9-etkZ1QoqpJRWkvP.; whl=-1%260%260%261562528831082','user-agent':'Mozilla/5.0'}def getHTMLText(url):try:r = requests.get(url, headers = headers, timeout = 30) #類比當時爬亞馬遜的例子r.raise_for_status()r.encoding = r.apparent_encodingreturn r.textexcept:return ""def parsePage(ilt, html):try:plt = re.findall(r'\"view_price\"\:\"[\d\.]*\"', html) #匹配價格tlt = re.findall(r'\"raw_title\"\:\".*?\"', html) #匹配名稱。*?表示最小匹配,只取得最后一個"的內容for i in range(len(plt)):price = eval(plt[i].split(':')[1]) #eval將最外層單雙引號去掉,split以:作為分隔title = eval(tlt[i].split(':')[1])ilt.append([price, title])except:print("")def printGoodsList(ilt):tplt = "{:4}\t{:8}\t{:16}"print(tplt.format("序號", "價格", "商品名稱"))count = 0for g in ilt:count = count + 1print(tplt.format(count, g[0], g[1]))def main():goods = '書包'depth = 3 #爬取深度start_url = 'https://s.taobao.com/search?q=' + goodsinfoList = []for i in range(depth):try:url = start_url + '&s=' + str(44*i)html = getHTMLText(url)parsePage(infoList, html)except:continueprintGoodsList(infoList)main()

輸出結果(部分)

總結

采用 requests‐re 路線實現了某電商平臺商品比價定向爬蟲。

熟練掌握正則表達式在信息提取方面的應用。

總結

以上是生活随笔為你收集整理的网络爬虫:商品比价定向爬虫的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。