爬蟲基礎入門(一)

来源:https://www.cnblogs.com/ulrica/archive/2018/05/26/9094399.html
-Advertisement-
Play Games

1 URL含義 URL的格式由三部分組成: ①第一部分是協議(或稱為服務方式)。 ②第二部分是存有該資源的主機IP地址(有時也包括埠號)。 ③第三部分是主機資源的具體地址,如目錄和文件名等。 2 分析扒網頁的方法 首先調用的是urllib2庫裡面的urlopen方法,傳入一個URL,這個網址是百度 ...


  • 1 URL含義
    URL的格式由三部分組成:
    ①第一部分是協議(或稱為服務方式)。
    ②第二部分是存有該資源的主機IP地址(有時也包括埠號)。
    ③第三部分是主機資源的具體地址,如目錄和文件名等。
  • 2 分析扒網頁的方法

      response = urllib2.urlopen("http://www.baidu.com")

    首先調用的是urllib2庫裡面的urlopen方法,傳入一個URL,這個網址是百度首頁,協議是HTTP協議,當然你也可以把HTTP換做FTP,FILE,HTTPS 等等,只是代表了一種訪問控制協議,urlopen一般接受三個參數,它的參數如下:

     urlopen(url, data, timeout)

    第一個參數url即為URL,第二個參數data是訪問URL時要傳送的數據,第三個timeout是設置超時時間。
    第二三個參數是可以不傳送的,data預設為空None,timeout預設為 socket._GLOBAL_DEFAULT_TIMEOUT
    第一個參數URL是必須要傳送的,在這個例子裡面我們傳送了百度的URL,執行urlopen方法之後,返回一個response對象,返回信息便保存在這裡面。

    print response.read()

    response對象有一個read方法,可以返回獲取到的網頁內容。記得一定要加read方法,否則它不出來內容咯!

  • 3 構造Requset

    import urllib2
    request = urllib2.Request("http://www.baidu.com")
    response = urllib2.urlopen(request)
    print response.read()
  • 4 POST和GET數據傳送


Urllib庫的高級用法

  • 1 設置Headers
  • 2 Proxy(代理)的設置
  • 3 Timeout 設置
  • 4 使用 HTTP 的 PUT 和 DELETE 方法
    http協議有六種請求方法,get,head,put,delete,post,options
  • 5 使用DebugLog

    來自

    Python爬蟲入門四之Urllib庫的高級用法


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 引言 之前就瞭解過kafka,看的似懂非懂,最近項目組中引入了 "kafka" ,剛好接著這個機會再次學習下。 Kafka在很多公司被用作分散式高性能消息隊列,kafka之前我只用過redis的list來做簡單的隊列處理,也還算好用,可能數據量比較小,也是單機運行,未出現過問題,用作輕量級消息隊列還 ...
  • Java開源生鮮電商平臺-通知模塊設計與架構(源碼可下載) 說明:對於一個生鮮的B2B平臺而言,通知對於我們實際的運營而言來講分為三種方式: 1. 消息推送:(採用極光推送) 2. 主頁彈窗通知。(比如:現在有什麼新的活動,有什麼新的優惠等等) 3. 簡訊通知.(對於簡訊通知,這個大家很熟悉,我們就 ...
  • Java原子類中CAS的底層實現 從Java到c++到彙編, 深入講解cas的底層原理. 介紹原理前, 先來一個Demo 以AtomicBoolean類為例.先來一個調用cas的demo. 主線程在for語句里cas忙迴圈, 直到cas操作成功返回true為止. 而新開的一個縣城new Thread ...
  • 寫出來的爬蟲,肯定不能只在一個頁面爬,只要要爬幾個頁面,甚至一個網站,這時候就需要用到翻頁了 其實翻頁很簡單,還是這個頁面http://bbs.fengniao.com/forum/10384633.html,話說我得給這個人增加了多大的訪問量啊...... 10384633重點關註下這個數字,這個 ...
  • 首先,我們可以從字面上理解一下final這個英文單詞的中文含義:“最後的,最終的; 決定性的; 不可更改的;”。顯然,final關鍵詞如果用中文來解釋,“不可更改的”更為合適。當你在編寫程式,可能會遇到這樣的情況:我想定義一個變數,它可以被初始化,但是它不能被更改。 例如我現在想要定義一個變數保存圓 ...
  • # coding=utf-8 # function函數:內置函數 # 例如: len int extent list range str # print insert append pop reverse sort # upper strip split lower # 特點、作用: # 1、可以直... ...
  • 一.上篇遺留及習題 1.下麵請看 我們來輸入一下結果 為什麼會是這樣呢?b不是等於a嗎,為什麼不是5而是3. 2.習題解答 (1.)區分下麵哪些是變數 name,name1,1name,na me,print,name_1 變數:name,name1,name_1 不是變數:1name,na me, ...
  • 以User為操作對象 原始JDBC 這個註意ResultSet 是一個帶指針的結果集,指針開始指向第一個元素的前一個(首元素),不同於iterator 有hasNext() 和next() ,他只有next() 整合c3p0的DBUtils c3p0整合了連接資料庫的Connection ,提供更快 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...