1. 程式人生 > >python爬蟲,請求地址中包含中文字元的解決辦法

python爬蟲,請求地址中包含中文字元的解決辦法

比如
r=requests.get('www.xxx.com/?city=上海')

這時候可能會導致urlerror,之所以說可能,是因為有的網站後臺可能有轉碼機制,特別是大網站,他們會把地址做一次轉碼。

對於那些沒有做轉碼的站,則需要自己先轉碼,轉成類似於這種:

'%E4%B8%8A%E6%B5%B7'   ‘上海’

這是中文字元的編碼格式,16進製表示

所用到的包是

from urllib import parse

程式碼如下

from urllib import parse
url='www.xxx.com/?city={}'.format(parse.quote('上海'))
r=requests.get(url)

www.xxx.com/?city=%E4%B8%8A%E6%B5%B7



相關推薦

python爬蟲請求地址包含中文字元解決辦法

比如r=requests.get('www.xxx.com/?city=上海')這時候可能會導致urlerror,之所以說可能,是因為有的網站後臺可能有轉碼機制,特別是大網站,他們會把地址做一次轉碼。對於那些沒有做轉碼的站,則需要自己先轉碼,轉成類似於這種:'%E4%B8%8

關於在瀏覽器輸入URl地址含有中文解決(亂碼)

    亂碼解決: 前端時間在做專案的時候發現在位址列裡輸入Url中有中文會有亂碼,綜合分析了幾個問題,1、首先確定使用的tomcat的編碼是否改動過tomcat中的編碼,或者程式碼中的編碼方式是否轉換錯誤(跟實際的是否一致)2、資料庫的編碼是否跟自己設定的編碼方式一樣,

android 網路請求url有特殊字元解決方法

經常在get網路請求中有特殊字元,系統編碼 自動轉譯這些特殊字元有些字元在URL中具有特殊含義,基本編碼規則如下:特殊含義 十六進位制值1.+ 表示空格(在 URL 中不能使用空格) %202./ 分隔目錄和子目錄 %2F3.? 分隔實際的 URL 和引數 %3F4.% 指定

eclipse、myEclipse接收中文亂碼解決辦法

修改Tomcat中conf下面的server.xml檔案 在 <Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/> 後面新增 U

PHP URL包含中文查看時提示404

not pla 再次 ros index oca 參考 utf cnblogs 使用Microsoft Web Platform在IIS裏配置安裝一個wordpress,一切順利。 當添加一片文章時,自動生成URL類似如下: http://localhost/wordp

截取字節數組形式的字符串包含中文

light 一個 get 字節 如果 要求 test 大於 截取 描述 1、首先說一下各種字符的字節組成: 字符、字母和數字:由一個大於0的數字碼組成,比如1--49、A--65、b--98。即這三種類型長度為1字節。 漢字:由兩個小於0的數字碼組成,比如 “我”-- (-

ipv6地址在URL的表達方式如何在URL地址包含ipv6地址

清晰 十進制數 reserve 摘要 serve 定位 並且 格式 廣泛 摘要 本文檔定義了在WWW瀏覽器的URL中執行的文本IPv6地址的格式。在包括Microsoft的IE,Mozilla和Lynx等幾個已經被廣泛安裝使用的瀏覽器的IPv6版本中,這種格式已經被使用。並

java調用Linux執行Python爬蟲並將數據存儲到elasticsearch--(java後臺代碼)

創建 author cor 運行 hpa 詳細信息 多線程 under lean 該篇博客主要是java代碼,如需相應腳本及java連接elasticsearch工具類代碼,請移步到上一篇博客 一、創建連接執行Linux腳本工具類 package com.yjlc.pla

Python刪除二維list中文資料其中的數字相加

[[u'253', u'BSJ', u'0.00', u'0.00', u'0.00', u'0.00', u'0.00', u'0.00', u'0.00', u'0.00', u'0.000', u'\u67e5\u770b \u63d0\u73b0 \u65b0\u63d0\u

Androidget請求的Url包含中文引數的解決方案

後臺伺服器使用tomcat7。Android傳送get請求時報錯: 錯誤資訊:九月 13, 2018 8:51:40 上午 org.apache.coyote.http11.AbstractHttp1

fake-useragentpython爬蟲偽裝請求

在編寫爬蟲進行網頁資料的時候,大多數情況下,需要在請求是增加請求頭,下面介紹一個python下非常好用的偽裝請求頭的庫:fake-useragent,具體使用說明如下: 1.在scrapy中的使用 第一步 pip install fake-useragent 第二步:在middlewares

JDBC查詢條件包含中文無查詢結果(編碼問題)

JDBC查詢條件中包含中文,無查詢結果(編碼問題)    java mysql: Variable_name Value character_set_cl

Ajax 以GET方式請求引數包含 "#" 特殊字元的處理

現象 在使用 jquery 的ajax呼叫後臺的介面時,如果是get方式的話,當引數中含有”#”這些等對於URI而言有著特殊含義的符號時,發現“#”字元後面的資訊全被裁掉了。 比如: var url= "xxxx?name=" + "wz#aaa"

請求url包含的主鍵id取出來進行操作

1.JSP頁面上書寫樣式 function del(id){     window.location.href="${pageContext.request.contextPath}/student/delete/"+id; } 2.在controller中取得url中包含

tomcat部署專案包含中文名稱檔案報404找不到檔案錯誤

tomcat伺服器改為utf8編碼  更改server.xml檔案<Connector port=”8080″ protocol=”HTTP/1.1″ connectionTimeout=”20000″  redirectPort=”8443″   URIEncod

fopen開啟檔案時路徑包含中文

轉載來自:http://blog.csdn.net/zmq5411/article/details/21003831 找了好多資料,一下午的時間,終於找到了,什麼加L啊,_T啊,寫UTF轉換函式啊,通通沒調通,原來是應該使用wfopen函式開啟啊 具體內容也可移步到原部落格

(android檔案下載)下載連結包含特殊字元--空格中文導致無法識別處理方案

今天在app測試時出現標題所示錯誤,導致無法正常重server端下載檔案; 通過檢視日誌,瞭解到是由於下載連結中出現空格、中文等特殊字元,導致連線地址不合法; 在網上也查看了很多描述相關問題解決方案的帖子,很有啟發-- 但是考慮到方便自己和大家,還是把問題和解決方案貼出來

python爬蟲案例——根據網址爬取中文網站獲取標題、子連線、子連線數目、連線描述、中文分詞列表

全棧工程師開發手冊 (作者:欒鵬) 其中使用到了urllib、BeautifulSoup爬蟲和結巴中文分詞的相關知識。 除錯環境python3.6 # 根據連線爬取中文網站

解決python路徑包含中文無法找到檔案的問題

今天在讀取檔案的時候,使用的url中存在中文,導致了整個檔案無法正常的讀出。 本質的原因就是指定了字串編碼是utf-8的,但是在呼叫系統檔案的時候,windows的編碼是gbk的因此造成了編碼問題。 解決辦法有兩個: 第一、把標頭檔案中的預設中文編碼改成gbk 第二、將

Java_web專案URL請求地址專案名設定為自定義變數

Java Web專案中,向後臺請求時需要用到URL地址,一般我們是這樣實現的。例如: url:'/springmybatis/login/login',springmybatis:是專案名 這樣寫可以