python3 使用urllib.request模組,關於bytes和string的那些事
python 3.4.2 使用urllib.request模組獲取網頁內容,雖說知道要注意編解碼的問題,但有些細節還是不清楚,終於碰到了TypeError的錯誤:
TypeError:can't use a string pattern on a bytes-like object
知道是位元組和字元使用錯誤,但是問題在哪兒呢?只好敲程式碼問問了。
import urllib.request
url = 'http://www.baidu.com'
req = urllib.request.Request(url)
response = req.urlopen(req)
page = response .read()
the_page = page.decode("UTF-8")
b_page = the_page.encode("UTF-8")
page 的型別是: bytes
the_page 的型別是: string
b_page 的型別是: bytes
知道了這些細節,修改程式碼bug就很簡單了。
相關推薦
python3 使用urllib.request模組,關於bytes和string的那些事
python 3.4.2 使用urllib.request模組獲取網頁內容,雖說知道要注意編解碼的問題,但有些細節還是不清楚,終於碰到了TypeError的錯誤: TypeError:can't use a string pattern on a byte
30-python3 中 bytes 和 string 之間的互相轉換
轉自:http://www.jb51.net/article/105064.htm password = b'123456' 等價於: pw = '123456' password = pw.encode(encoding='utf-8') 前言
Python3 urllib.request與requests模組請求網頁程式碼
爬蟲的起點,獲取網頁程式碼 #!/usr/bin/env python3 # -*- encoding:utf-8 -*- # 請求網頁程式碼 import urllib.request r
爬蟲小探-Python3 urllib.request獲取頁面數據
text height urlopen -s mozilla 使用 pri 爬蟲 size 使用Python3 urllib.request中的Requests()和urlopen()方法獲取頁面源碼,並用re正則進行正則匹配查找需要的數據。 #forex.py#co
day21,常用模組(collections模組,time時間模組,random模組,os和sys模組)
一,模組簡單的認識: 什麼是模組. 模組就是我們把裝有特定功能的程式碼進行歸類的結果. 從程式碼編寫的單位 來看我們的程式, 從小到 大的順序: 一條程式碼 < 語句塊 < 程式碼塊(函式, 類) < 模組. 我們目前寫 的所有的py檔案都是模組. import
不同進位制轉換,bytes和str的轉換
參考網址: http://www.cnblogs.com/hushaojun/p/7681148.html https://blog.csdn.net/qq_15727809/article/details/83513074 1,函式說明(幫助文件): oct() Return the
python之bytes和string
1、bytes主要是給在計算機看的,string主要是給人看的 2、中間有個橋樑就是編碼規則,現在大趨勢是utf8 3、bytes物件是二進位制,很容易轉換成16進位制,例如\x64 4、string就是我們看到的內容,例如'abc' 5、string經過編碼encode,轉化成二進
爬蟲day03 request模組, Handler處理器
目錄 1.requests模組 1.常用方法 1.get():發起請求獲取響應對 2.response方法 1.response.text:字串 字元編碼:ISO-
requests模組,dumps和loads的用法
import requests,json dict={'name':'lurui','age':30,'address':'hunan'} print('當前列印的資料型別:{0},\n資料是:{1}'.format(type(dict),dict)) pri
模組,類和物件
很顯然,在學習類與物件之前,我們得知道一些面向物件術語。 ''' 類(class):告訴Python建立新型別的東西。 物件(object):兩個意思,即最基本的東西,或者某個東西的例項,不唯一,可以self等 例項(instance):這是讓Python建立一個類時得到的東西。 def:這是在類裡
python3 urllib.request.Request的用法
import urllib.request import urllib.parse url = 'http://127.0.0.1:8000/api/login/' headers = {'User-
Python中的urllib.request模組
因為在玩Python challenge的時候,有用過這個模組,而且學習這個模組之後也對系統學習網路爬蟲有用。 當時查了各種資料學習,沒有碰官網文件(因為還是對英語有抗拒性),但是還是官方的文件最具權威和學習價值,因此想要此次翻譯官方文件的同時,鍛鍊自己的英語能力,也對ur
Python常用庫urllib中urllib.request模組使用詳解
1.urllib2和urllib庫的區別 Urllib庫是Python中的一個功能強大、用於操作URL,並在做爬蟲的時候經常要用到的庫。在Python2.x中,分為Urllib庫和Urllin2庫,P
python常用模組(模組和包的解釋,time模組,sys模組,random模組,os模組,json和pickle序列化模組)
1.1模組 什麼是模組: 在計算機程式的開發過程中,隨著程式程式碼越寫越多,在一個檔案裡程式碼就會越來越長,越來越不容易維護。 為了編寫可維護的程式碼,我們把很多函式分組,分別放到不同的檔案裡,這樣,每個檔案包含的程式碼就相對較少,在python中。一個.py檔案就稱為一個模組(Module
java中的BigDecimal和String的相互轉換,int和String的型別轉換,Integer類和String相互轉換
一: /*由數字字串構造BigDecimal的方法 *設定BigDecimal的小數位數的方法 */ 注:BigDecimal在資料庫中存的是number型別。 import java.math.BigDecimal; //數字字串 String StrBd="1048576.1024"; /
Python環境搭建以及urllib request模組使用
問題引入:也是剛接觸python,然後就就在python官網上下載了python2.7版本,但是在使用urllib request模組時一直報錯,後來解決辦法是將python升級到最新版本就可以使用,python3中自帶urllib request模組。 request模組使用: # cod
Python-爬蟲03:urllib.request模組的使用
目錄 1. urllib.request的基本使用 1.1 urlopen 1.2. 用urlopen來獲取網路原始碼 1.3. urllib.request.Request的使用 2. User-Ageng的使用-模擬瀏覽器傳送請求 2.1)
【Python】Learn Python the hard way, ex40 模組,類和物件,這個解釋比較容易理解
#coding:utf-8 ''' 理解類和模組 Python是一種面向物件程式設計(OOP)語言。這個說法的意思是,Python裡邊有一種叫做類(class)的結構,通過它可以用一種特殊的方法構造軟體。 通過使用類,可以讓程式架構更為整齊,使用起來也更加乾淨 -- 至少
Python系列之 - 怎麼用urllib.request模組下載hao123html主頁
Python系列之 - 怎麼用urllib.request模組下載hao123html主頁 下載hao123 html主頁程式碼片段如下: import urllib.request def getHtml(url): html = urllib.request.
安裝python pip,再安裝request模組,執行python程式碼
1,看到這篇文章,想試試用來測試我們的介面: 照著寫了python的引用 requests模組的程式碼, 執行python, 反饋說不能引入這個requests模組, 說用pip安裝requests模組, 命令端使用pip install requests反饋說沒