1. 程式人生 > >python網路爬蟲學習日記-----urllib中urlopen()的使用

python網路爬蟲學習日記-----urllib中urlopen()的使用

urllib的四個模組

  • request:基本的Http請求模組
  • error:異常模組
  • parse:工具模組,url處理方法
  • robotparser:識別網上的robots.tst檔案,判斷網站是否可爬

傳送請求

  • urlopen()
    先使用urlopen()進行最基本的頁面抓取
    import urllib.request
    response=urllib.request.urlopen(‘https://www.python.org’)
    print(response.read().decode(‘utf-8’))
    在這裡插入圖片描述
    這樣就獲得了python官網的html程式碼
    再用type(response)返回response的型別
    返回結果:<class ‘http.client.HTTPResponse’>
    可以看到返回了一個HTTPResponse型別的物件 其中包含了read(),readinto(),gethender(“””)獲取響應頭資訊中的子資訊,getheaders()響應頭資訊,fileno()等方法及msg,version,status獲取響應狀態碼,reason,debuglevel,closed各種屬性
    urlopen()還有幾個引數
    1).data引數為可選引數,需要bytes()方法轉化,並且請求方式變成post
#urlopen()中data引數練習
data=bytes(urllib.parse.urlencode({'word':'hello'}),encoding='utf-8')
response=urllib.request.urlopen('http://httpbin.org/post',data=data)
print(response.read())

這樣我們傳遞的引數會出現在form欄位中 模擬了表單提交方式,以post方式傳輸資料

2)timeout引數

#urlopen()中timeout引數說明  超過請求指定時間報異常
try:
    response=urllib.request.urlopen('http://httpbin.org/get',timeout=0.1)
except urllib.error.URLError as e:
    if isinstance(e.reason,socket.timeout):
        print("time out")

執行結果:
在這裡插入圖片描述

下一個筆記介紹 比urlopen()更強大的request()

相關推薦

python網路爬蟲學習日記-----urlliburlopen()的使用

urllib的四個模組 request:基本的Http請求模組 error:異常模組 parse:工具模組,url處理方法 robotparser:識別網上的robots.tst檔案,判斷網站是否可爬 傳送請求 urlopen() 先使用urlopen()

Python網路爬蟲學習筆記——第一個爬蟲程式

執行環境 語言 Python3 第三方庫 pip install reqeusts pip install BeautifulSoup4 pip install jupyter 線上編輯器 安裝 jupyter 模組後,在cmd視窗中執行命令jupyte

python網路爬蟲學習(三)正則表示式的使用之re.match方法

一.為什麼要學習正則表示式 很好,我們現在已經能夠寫出獲得網站原始碼的程式了,我們有了第一個問題:如何從雜亂的程式碼中找到我們所需的資訊呢?此時,正則表示式的學習就顯得很有必要了。有人打趣說,當你想到用正則表示式解決一個問題時,你就擁有了兩個問題。從這句話中可

python網路爬蟲學習(二)一個爬取百度貼吧的爬蟲程式

今天進一步學習了python網路爬蟲的知識,學會了寫一個簡單的爬蟲程式,用於爬取百度貼吧的網頁並儲存為HTML檔案。下面對我在實現這個功能時的程式碼以及所遇到的問題的記錄總結和反思。 首先分析實現這個功能的具體思路: 通過對貼吧URL的觀察,可以看出貼吧中的

Python 網路爬蟲學習(一)

最近在學習一些Python網路爬蟲的東西,現將所學習內容整理如下,希望與大家相互交流,共同進步。 一、網路爬蟲基本概念 1.網路爬蟲(Web Spider) 是通過網頁的連結地址來尋找網頁的。從網站某一個頁面(通常是首頁)開始,讀取網頁的內

18、python網路爬蟲之Scrapy框架的CrawlSpider詳解

正則 art _id 糗事百科 put pytho 切換 ron 提交 CrawlSpider的引入:      提問:如果想要通過爬蟲程序去爬取”糗百“全站數據新聞數據的話,有幾種實現方法?    方法一:基於Scrapy框架中的Spider的遞歸爬取進行實現(Reque

python網路爬蟲學習(六)利用Pyspider+Phantomjs爬取淘寶模特圖片

一.新的問題與工具 平時在淘寶上剁手的時候,總是會看到各種各樣的模特。由於自己就讀於一所男女比例三比一的工科院校……寫程式碼之餘看看美女也是極好的放鬆方式。但一張一張點右鍵–另存為又顯得太過麻煩而且不切實際,畢竟圖片太多了。於是,我開始考慮用萬能的pyth

Requests庫函式的學習(玩轉python網路爬蟲

一、請求方式 HTTP常用的請求方式是GET和POST,Requests對此區分兩種不同的請求方式。 (1)GET請求 Requests的GET請求分為兩種:不帶引數和帶引數。判斷URL是否帶有引數,通過對“?”進行判斷,“?”表示帶有引數。 import requests # 第一

python爬蟲學習筆記-urllib的使用

學習爬蟲,最基本的操作即為模擬瀏覽器向伺服器發出請求,python內建了一個名為urllib的內建HTTP請求庫,有了它,我們只需要關心請求的連結是什麼,需要傳遞什麼引數,以及設定請求頭等其他資訊即可。這樣,我們就不用深入底層的連線具體是怎樣傳輸和通訊(當然,這是站在巨人的肩膀上)。urll

新手如何學習python網路爬蟲

本人,本科工程類,主要學習航空航天、力學、地形物理方面知識,由於工作需要,需自學python,最近幾個月走了不少彎路,現將經驗分享如下,希望能給大家幫助。 先了解一下python是個什麼東西,就我理解,就跟C\VB\C#等一樣的,就是一種語言,提高我們工作效率的一種工具,就

Python網路爬蟲與資訊提取_爬蟲例項(學習筆記)

慕課課程學習筆記 1. 京東商品頁面的爬取  1.採用get()方法,獲取Response物件; import requests url = 'https://item.jd.com/100000947807.html' r = requests.get(url)

python 網路爬蟲入門-Urllib庫的基本使用

學習來源:http://www.cnblogs.com/xin-xin/p/4297852.html 1.分分鐘扒一個網頁下來 import urllib2 response = urllib2.urlopen("http://www.baidu.com") print respon

python爬蟲學習urllib

urlopen get型別的網頁: import urllib.request response = urllib.request.urlopen("http://www.baidu.com") print(response.read().decode('utf-8'

Python網路爬蟲的網頁中文正則表示式匹配小心得

這是第一篇部落格,關於在正則表示式的情況下通過python的re模組對爬蟲爬下的網頁資料進行正則表示式,匹配得出所有中文字元 #!/usr/bin/python # -*- coding: utf-8 -*- import re def matchURL_info(

網路爬蟲爬取新浪新聞----Python網路爬蟲實戰學習筆記

今天學完了網易雲課堂上Python網路爬蟲實戰的全部課程,特在此記錄一下學習的過程中遇到的問題和學習收穫。 我們要爬取的網站是新浪新聞的國內版首頁 下面依次編寫各個功能模組 1.得到某新聞頁面下的評論數 評論數的資料是個動態內容,應該是存在伺服器

j記錄學習--python網路爬蟲與資訊提取

The website is the API...要獲取網站內容,只要把網站當成API就可以了。 requests庫獲取網頁資訊---》Beautiful Soup解析提取到資訊的內容---》利用re庫正則表示式提取其中某部分的關鍵資訊----》Scrapy*網路爬蟲 網路

Python爬蟲學習日記三 快取支援

Python爬蟲學習日記三                                          冰冠 2018年06月15日14:22:061、為連結爬蟲新增快取支援    修改第一天中的download函式,在url下載之前進行快取檢查,另外,需要把限速功能移

[Python] 網路爬蟲和正則表示式學習總結

  以前在學校做科研都是直接利用網上共享的一些資料,就像我們經常說的dataset、beachmark等等。但是,對於實際的工業需求來說,爬取網路的資料是必須的並且是首要的。最近在國內一家網際網路公司實習,我的mentor交給我的第一件事就是去網路上爬取資料,並對爬取的資料進行相關的分析和解析。 1.利用u

Python 網路爬蟲 009 (程式設計) 通過正則表示式來獲取一個網頁的所有的URL連結,並下載這些URL連結的原始碼

通過 正則表示式 來獲取一個網頁中的所有的 URL連結,並下載這些 URL連結 的原始碼 使用的系統:Windows 10 64位 Python 語言版本:Python 2.7.10 V 使用的程式設計 Python 的整合開發環境:PyCharm 201

[Python]網路爬蟲(二):利用urllib通過指定的URL抓取網頁內容

1.基本方法 urllib.request.urlopen(url, data=None, [timeout, ]*, cafile=None, capath=None, cadefault=F