电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

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

Python實現爬取網頁中動態加載的數據

瀏覽:111日期:2022-07-13 17:30:03

在使用python爬蟲技術采集數據信息時,經常會遇到在返回的網頁信息中,無法抓取動態加載的可用數據。例如,獲取某網頁中,商品價格時就會出現此類現象。如下圖所示。本文將實現爬取網頁中類似的動態加載的數據。

Python實現爬取網頁中動態加載的數據

1. 那么什么是動態加載的數據?

我們通過requests模塊進行數據爬取無法每次都是可見即可得,有些數據是通過非瀏覽器地址欄中的url請求得到的。而是通過其他請求請求到的數據,那么這些通過其他請求請求到的數據就是動態加載的數據。(猜測有可能是js代碼當咱們訪問此頁面時就會發送得get請求,到其他url中獲取數據)

2. 如何檢測網頁中是否存在動態加載得數據?

在當前頁面中打開抓包工具,捕獲到地址欄中的url對應的數據包,在該數據包的response選項卡搜索我們想要爬取的數據,如果搜索到了結果則表示數據不是動態加載的,否則表示數據為動態加載的。如圖所示:

Python實現爬取網頁中動態加載的數據

或者鼠標右鍵單擊要爬取的頁面顯示網頁源代碼搜索我們想要爬取的數據,如果搜索到了結果則表示數據不是動態加載的,否則表示數據為動態加載的。如圖所示:

Python實現爬取網頁中動態加載的數據

3. 如果數據為動態加載,那么我們如何捕獲到動態加載的數據?

在實現爬取動態加載的數據信息時,首先需要在瀏覽器的網絡監視器中根據動態加載的技術選擇網絡請求的類型,然后通過逐個篩選的方式查詢預覽信息中的關鍵數據,并獲取對應的請求地址,最后進行信息的解析工作即可。具體步驟如下:

在瀏覽器中快捷鍵F12打開開發者工具,然后選擇Network(網絡監視器)并在網絡類型中選擇JS,再按快捷鍵F5刷新,如下圖所示。

Python實現爬取網頁中動態加載的數據

在請求信息的列表中,依次單擊每個請求信息,然后在對應的Preview(請求結果預覽)中核對是否為需要獲取的動態加載數據,如下圖所示。

Python實現爬取網頁中動態加載的數據

動態加載的數據信息核對完成后,單擊Headers獲取當前的網絡請求地址以及所需參數,如下圖所示。

Python實現爬取網頁中動態加載的數據

根據以上步驟獲取到的請求地址,發送網絡請求并從返回的信息中提取商品價格信息。筆者在代碼中使用到了反序列化,關于json序列化和反序列化可以點擊 此處 進行學習,代碼如下:

import requestsimport json# 獲取商品價格的請求地址url = 'https://c0.3.cn/stock?skuId=12464037&cat=1713,3259,3333&venderId=1000077923&area' '=4_113_9786_0&buyNum=1&choseSuitSkuIds=&extraParam={%22originid%22:%221%22}&ch=1&fqsp=0&' 'pduid=1573698619147398205303&pdpin=jd_635f3b795bb1c&coord=&detailedAdd=&callback=jQuery6495921'jQuery_id = url.split('=')[-1] + '('# 頭部信息headers = { 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) ' 'AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.129 Safari/537.36'}# 發送網絡請求response = requests.get(url, headers=headers)if response.status_code == 200: goods_dict = json.loads(response.text.replace(jQuery_id, '')[:-1]) # 反序列化 print(f'當前售價為: {goods_dict[’stock’][’jdPrice’][’op’]}') print(f'定價為: {goods_dict[’stock’][’jdPrice’][’m’]}') print(f'會員價為: {goods_dict[’stock’][’jdPrice’][’tpp’]}')else: print('請求失敗!')

筆者在寫博文的時候,價格發生了變化,運行結果如下圖所示:

Python實現爬取網頁中動態加載的數據

注意:爬取動態加載數據信息時,需要根據不同的網頁使用不同的方式進行數據的提取。如果在運行源碼時出現了錯誤,請根據操作步驟獲取新的請求地址即可。

到此這篇關于Python實現爬取網頁中動態加載的數據的文章就介紹到這了,更多相關Python 爬取網頁動態數據內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 分轨 | 上传文件,即刻分离人声和伴奏 | 食品级焦亚硫酸钠_工业级焦亚硫酸钠_焦亚硫酸钠-潍坊邦华化工有限公司 | 水平垂直燃烧试验仪-灼热丝试验仪-漏电起痕试验仪-针焰试验仪-塑料材料燃烧检测设备-IP防水试验机 | 琉璃瓦-琉璃瓦厂家-安徽盛阳新型建材科技有限公司 | 讲师宝经纪-专业培训机构师资供应商_培训机构找讲师、培训师、讲师经纪就上讲师宝经纪 | 铝合金风口-玻璃钢轴流风机-玻璃钢屋顶风机-德州东润空调设备有限公司 | 工控机-图像采集卡-PoE网卡-人工智能-工业主板-深圳朗锐智科 | 气力输送_输送机械_自动化配料系统_负压吸送_制造主力军江苏高达智能装备有限公司! | 特种阀门-调节阀门-高温熔盐阀-镍合金截止阀-钛阀门-高温阀门-高性能蝶阀-蒙乃尔合金阀门-福建捷斯特阀门制造有限公司 | 飞歌臭氧发生器厂家_水处理臭氧发生器_十大臭氧消毒机品牌 | 铸钢件厂家-铸钢齿轮-减速机厂家-淄博凯振机械有限公司 | CE认证_FCC认证_CCC认证_MFI认证_UN38.3认证-微测检测 CNAS实验室 | 恒温恒湿试验箱_高低温试验箱_恒温恒湿箱-东莞市高天试验设备有限公司 | 深圳活动策划公司|庆典策划|专业公关活动策划|深圳艺典文化传媒 重庆中专|职高|技校招生-重庆中专招生网 | SF6环境监测系统-接地环流在线监测装置-瑟恩实业 | HV全空气系统_杭州暖通公司—杭州斯培尔冷暖设备有限公司 | 铁艺,仿竹,竹节,护栏,围栏,篱笆,栅栏,栏杆,护栏网,网围栏,厂家 - 河北稳重金属丝网制品有限公司 山东太阳能路灯厂家-庭院灯生产厂家-济南晟启灯饰有限公司 | 单锥双螺旋混合机_双螺旋锥形混合机-无锡新洋设备科技有限公司 | 菲希尔FISCHER测厚仪-铁素体检测仪-上海吉馨实业发展有限公司 | 注浆压力变送器-高温熔体传感器-矿用压力传感器|ZHYQ朝辉 | 河南档案架,档案密集架,手动密集架,河南密集架批发/报价 | 烟台金蝶财务软件,烟台网站建设,烟台网络推广 | 洛阳网站建设_洛阳网站优化_网站建设平台_洛阳香河网络科技有限公司 | 中图网(原中国图书网):网上书店,尾货特色书店,30万种特价书低至2折! | 塑料异型材_PVC异型材_封边条生产厂家_PC灯罩_防撞扶手_医院扶手价格_东莞市怡美塑胶制品有限公司 | 证券新闻,热播美式保罗1984第二部_腾讯1080p-仁爱影院 | 工装定制/做厂家/公司_工装订做/制价格/费用-北京圣达信工装 | 自清洗过滤器_全自动过滤器_全自动反冲洗过滤器_量子过滤器-滑漮滴 | 电位器_轻触开关_USB连接器_广东精密龙电子科技有限公司 | 宜兴紫砂壶知识分享 - 宜兴壶人 医用空气消毒机-医用管路消毒机-工作服消毒柜-成都三康王 | 金库门,金库房,金库门厂家,金库门价格-河北特旺柜业有限公司 | 安徽集装箱厂-合肥国彩钢结构板房工程有限公司 | 超声波_清洗机_超声波清洗机专业生产厂家-深圳市好顺超声设备有限公司 | 大型冰雕-景区冰雕展制作公司,3D创意设计源头厂家-[赛北冰雕] | 铝合金电阻-无源谐波滤波器-上海稳达电讯设备厂| 成都软件开发_OA|ERP|CRM|管理系统定制开发_成都码邻蜀科技 | 河北凯普威医疗器材有限公司,高档轮椅系列,推车系列,座厕椅系列,协步椅系列,拐扙系列,卫浴系列 | 升降机-高空作业车租赁-蜘蛛车-曲臂式伸缩臂剪叉式液压升降平台-脚手架-【普雷斯特公司厂家】 | 珠海冷却塔降噪维修_冷却塔改造报价_凉水塔风机维修厂家- 广东康明节能空调有限公司 | 广州工业氧气-工业氩气-工业氮气-二氧化碳-广州市番禺区得力气体经营部 | 济南ISO9000认证咨询代理公司,ISO9001认证,CMA实验室认证,ISO/TS16949认证,服务体系认证,资产管理体系认证,SC食品生产许可证- 济南创远企业管理咨询有限公司 郑州电线电缆厂家-防火|低压|低烟无卤电缆-河南明星电缆 |