Python進階:爬蟲---URL處理

URL編碼

發送請求(漢字)時需要進行轉碼   例如:

  • 原地址:http://www.oschina.net/search?scope=bbs&q=C語言
  • 編碼後:http://www.oschina.net/search?scope=bbs&q=C%E8%AF%AD%E8%A8%80
  • 語言:%E8%AF%AD      %E8%A8%80   (三個%代表一個漢字)

URL拼接

  • urllib 的 urlencode() 接收的參數是一個字典:
  • wd = {"wd" : "奧特曼"}
  • urllib.urlencode(wd)
  • 結果:wd=%E5%A5%A5%E7%89%B9%E6%9B%BC

URL拼接例子

import urllib
import urllib.request as urllib2

url = "http://www.baidu.com/s"                #就採用http吧
keyword = input("請輸入要查詢的字符串:")
wd = {"wd": keyword}                               #字典類型
#Python2: urllib.encode() == python3: urllib.parse.encode()
wd = urllib.parse.urlencode(wd)              #編碼轉換
fullurl = url + "?" + wd
headers = {"User-Agent": "Mozilla........."}
request = urllib2.Request(fullurl, headers = headers)
response = urllib2.urlopen(request)
print(fullurl)
# print(response.read().decode('utf-8'))

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章