Python爬蟲用途和介紹

目錄

什么是Python爬蟲

Python爬蟲用途

Python爬蟲可以獲得那些數據

Python爬蟲的用途

反爬是什么

常見的反爬措施

Python爬蟲技術模塊總結

獲取網站的原始響應數據

獲取到響應數據對響應數據進行過濾

對收集好的數據進行存儲

抵御反爬機制

Python爬蟲框架

Python爬蟲法律風險


什么是Python爬蟲

模擬瀏覽器對網址服務器發送請求,解析服務器返回的響應數據。

Python爬蟲用途

代替手動操控瀏覽器收集數據,通過Python爬蟲實現自動收集數據,用作數據分析

Python爬蟲可以獲得那些數據

因為Python爬蟲就是在做瀏覽器的工作,瀏覽器是發送請求直接展示返回的響應數據。Python爬蟲是發送請求得到響應數據之后,過濾響應數據收集自己想要的信息。

原理都是類似的,所以Python爬蟲原則上是只能獲取瀏覽器可以正常獲取的數據

Python爬蟲的用途

數據分析、對網站進行數據監控、搜索引擎、刷網上數據如播放量、搶票、網絡安全等

反爬是什么

對抗Python爬蟲的手段的統稱。防止數據被惡意獲取。

常見的反爬措施

登錄才可能看到網站里面的數據、進入網站的各種驗證手段、檢測同一IP單位時間內的請求量是否異常、請求需要攜帶特定數據、網站的響應數據被加密等等。

Python爬蟲技術模塊總結

分為四大部分

獲取網站的原始響應數據

1、使用接口請求獲取? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?Request三方庫

2、操控瀏覽器,對瀏覽器模擬過程中進行獲取? ? ? ? ? ? ? Selenium三方庫

獲取到響應數據對響應數據進行過濾

正則表達式? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? re標準庫

XPath表達式? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?lxml三方庫

對收集好的數據進行存儲

MySQL、MongDB、Redis相關知識

抵御反爬機制

使用Python代碼模擬登錄

通過OpenCV計算機視覺、OCR文字識別、機器學習通過驗證碼識別

了解各類加密算法和JS逆向分析還原網站加密流程,破解加密

Python爬蟲框架

市場上宣傳最多的是Scrapy框架

個人是不建議使用爬蟲框架的,原因如下

????????Python已經提供了很多簡單的工具庫,本身編寫爬蟲已經很簡單了,用了框架反而增加了很多麻煩

? ? ? ? 爬蟲框架使用的是并發方式進行爬取,如果爬取頻率過大,本身就已經是一種網絡攻擊了,所以爬蟲效率過高反而是壞事,嚴重的情況下是有法律風險

? ? ? ? 爬蟲框架限制死了爬取網站的流程,如果有些特殊情況下可能爬取流程不一樣,反而無法兼容使用,如: 我直接讓前端使用插件自動化控制網頁進行對網站的HTML獲取直接傳入后臺解析,那么這種情況爬蟲框架就無法兼容了

Python爬蟲法律風險

技術本身合法

使用Python爬蟲進行黑客攻擊、使用Python爬蟲獲取的數據進行謀利、侵犯版權和隱私權違法

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/89615.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/89615.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/89615.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

uni-app開發app保持登錄狀態

在 uni-app 中實現用戶登錄一次后在 token 過期前一直免登錄的功能,可以通過以下幾個關鍵步驟實現:本地持久化存儲 Token、使用請求與響應攔截器自動處理 Token 刷新、以及在 App.vue 中結合 pages.json 設置登錄狀態跳轉邏輯。 ? 一、pages.json 配置說…

21、MQ常見問題梳理

目錄 ? 、MQ如何保證消息不丟失 1 、哪些環節可能會丟消息 2 、?產者發送消息如何保證不丟失 2.1、?產者發送消息確認機制 2.2、Rocket MQ的事務消息機制 2.3 、Broker寫?數據如何保證不丟失 2.3.1** ?先需要理解操作系統是如何把消息寫?到磁盤的**。 2.3.2然后來…

MySQL數據庫--SQL DDL語句

SQL--DDL語句 1,DDL-數據庫操作2,DDL-表操作-查詢3,DDL-表操作-創建4,DDL-表操作-數據類型4.1,DDL-表操作-數值類型4.2,DDL-表操作-字符串類型4.3,DDL-表操作-日期時間類型4.4,實例 …

Spring Cloud 服務追蹤實戰:使用 Zipkin 構建分布式鏈路追蹤

Spring Cloud 服務追蹤實戰:使用 Zipkin 構建分布式鏈路追蹤 在分布式微服務架構中,一個用戶請求往往需要經過多個服務協作完成,如果出現性能瓶頸或異常,排查會非常困難。此時,分布式鏈路追蹤(Distributed…

Linux云計算基礎篇(6)

一、IO重定向和管道 stdin:standard input 標準輸入 stdout:standard output 標準輸出 stderr: standard error 標準錯誤輸出 舉例 find /etc/ -name passwd > find.out 將正確的輸出重定向在這個find.ou…

Python將COCO格式分割標簽繪制到對應的圖片上

Python將COCO格式分割標簽繪制到對應的圖片上 前言前提條件相關介紹COCO 格式簡介(實例分割)📁 主要目錄結構:📄 JSON 標注文件結構示例:? 特點: 實驗環境Python將COCO格式分割標簽繪制到對應的…

光纖(FC)交換機與以太網(網絡)交換機的區別

光纖通道交換機(FC交換機)與普通以太網交換機(網絡交換機)在用途、協議、性能、可靠性等方面存在顯著差異,主要區別如下: 1. 用途與網絡類型 FC交換機 主要用于存儲區域網絡(SAN)&a…

電磁場有限元方法EX2.2-里茲法求解泊松方程控制的邊值問題

電磁場有限元方法EX2.2-里茲法求解泊松方程控制的邊值問題 簡單學習一下有限元法的基礎理論,書本為電磁場有限元經典教材: THE FINITE ELEMENT METHOD IN ELECTROMAGNETICS, JIAN-MING JIN 目錄 電磁場有限元方法EX2.2-里茲法求解泊松方程控制的邊值問…

云端備份與恢復策略:企業如何選擇最安全的備份解決方案

更多云服務器知識,盡在hostol.com 想象一下,某個凌晨,你突然發現公司所有重要數據都被加密,系統崩潰,業務停擺。有人給你打來電話說:“一切都被勒索了,恢復費用可能需要幾百萬。”這時&#xf…

OSPF高級特性之FRR

一、概述 眾所周知,IGP當中鏈路狀態路由協議(OSPF、ISIS)之所以可以代替我們的矢量路由協議(RIP),就是因為鏈路狀態路由協議可以根據某些特性快速的感知到路由的變化從而改變路徑。 前面我們已經介紹過了OSPF的其中一個快速收斂的機制,SPF算法,本章節將介紹另一個快速收斂機制,…

多元化國產主板,滿足更高性能、更高安全的金融發展

在金融行業數字化轉型的浪潮中,對于核心硬件的性能與安全需求達到了前所未有的高度。國產主板應運而生,憑借其卓越的多元化特性,為金融領域帶來了高性能運算與高安全防護的雙重保障,成為推動金融行業發展的關鍵力量。以高能計算機…

數據庫分布式架構:ShardingSphere 實踐

一、數據庫分布式架構概述 1.1 分布式架構概念 在當今數字化時代,隨著業務的不斷拓展和數據量的爆炸式增長,傳統的單機數據庫架構逐漸暴露出諸多局限性。例如,在電商大促期間,海量的訂單數據和用戶訪問請求會讓單機數據庫不堪重…

【WRFDA教程第二期】運行WRFDA 3DVAR/4DVAR數據同化

目錄 一、準備階段:下載并解壓測試數據二、運行 3DVAR 教學實驗日志分析(wrfda.log)進階實驗建議:對比不同設置的影響輸出文件說明 三、運行 4DVAR 教學實驗步驟1:準備工作目錄與環境變量步驟2:鏈接可執行文…

redis緩存三大問題分析與解決方案

什么是緩存? 緩存(Cache)是一種將熱點數據緩存在內存中(如 Redis)以加快訪問速度、減輕數據庫壓力的技術。 但引入緩存后可能出現 三大核心問題: 緩存穿透(Cache Penetration)緩存…

李宏毅機器學習筆記——梯度下降法

深度學習介紹 基于仿生學的一種自成體系的機器學習算法,包括但不限于圖像識別、語音、文本領域。 梯度下降法 作為深度學習算法種常用的優化算法 梯度下降法,是一種基于搜索的最優化方法,最用是最小化一個損失函數。梯度下降是迭代法的一…

day50/60

浙大疏錦行 DAY 50 預訓練模型CBAM模塊 知識點回顧: resnet結構解析CBAM放置位置的思考針對預訓練模型的訓練策略 差異化學習率三階段微調 ps:今日的代碼訓練時長較長,3080ti大概需要40min的訓練時長 作業: 好好理解下resnet18的…

Vue3 之vite.config.js配置

一、示例 import { defineConfig } from vite import vue from vitejs/plugin-vue import path from path // https://vitejs.dev/config/ export default defineConfig({plugins: [vue()],base: ./,build: {assetsDir: static, //指定靜態資源目錄rollupOptions: {input: {mai…

利用Gpu訓練

方法一: 分別對網絡模型,數據(輸入,標注),損失函數調用.cuda() 網絡模型: if torch.cuda.is_available():netnet.cuda() 數據(訓練和測試): if torch.cud…

使用excel中的MATCH函數進行匹配數據

一、背景 在平日處理數據時,經常需要將給定數據按照制定的數據進行排序,數量比較大時,逐個處理有點費事費力且容易出錯,這時可借助excel表格中match函數進行精確匹配。 二、使用match函數–精確排序操作步驟 主要工作步驟&#xf…

SpringCloud系列(41)--SpringCloud Config分布式配置中心簡介

前言:微服務意味著要將單體應用中的業務拆分成一個個子服務,每個服務的粒度相對較小,因此系統中會出現大量的服務,但由于每個服務都需要必要的配置信息才能運行,所以—套集中式的、動態的配置管理設施是必不可少的&…