爬蟲基礎 day01 學習get傳參

2021-09-17 21:49:36 字數 1735 閱讀 4749

「」"

get傳參:

(1)漢字報錯:直譯器ascii沒有漢字。需要url漢字轉碼

urllib.parse.quote(url, safe = string.printable)

(2) 字典傳參:

urllib.parse.urlencode(dictionary)

「」"「」"

post傳參:

urllib.request.urlopen(url,data=「伺服器接收的資料」)

import urllib.request

import urllib.parse

import string

def load_data():

url = ""

# url的get請求

# response:https響應的物件

response = urllib.request.urlopen(url)

print(response)

# 讀取內容,將獲取的內容轉換成字串

data = response.read()

print(data)

str_data = data.decode("utf-8")

print(str_data)

# 將資料寫成檔案

# 將字串型別轉換成bytes

# python爬取的型別:str bytes

# 如果是str型別,則儲存為二進位制時,就需要encode("utf-8")

# 如果是bytes型別,需要儲存為str型別時,則需要解碼:decode("utf-8")

def get_method_params():

url = "s?wd="

# 拼接字串

# **內出現了漢字,會報錯

name = "美女"

final_url = url + name

print(final_url)

# 將包含漢字的**進行轉譯

encode_url = urllib.parse.quote(final_url, safe=string.printable)

# 使用**傳送網路請求

response = urllib.request.urlopen(encode_url)

print(response)

# unicodeencodeerror: 'ascii' codec can't encode characters in position 10-11: ordinal not in range(128)

# 報錯原因:python是解釋性語言,解析器只支撐ascii (0-127)

# 即:不支援中文

# 將此儲存在特定目錄

# 讀取返回的內容

data = response.read()

# 將返回的byte內容變成字串形式

str_data = data.decode("utf-8")

f.write(str_data)

get_method_params()

load_data()

SQL基礎學習day01

froeign key外來鍵 check約束 defualt預設值 truncate table 語句 其它運算子描述 等於 不等於。注釋 在 sql 的一些版本中,該操作符可被寫成 大於 小於 大於等於 小於等於 between 在某個範圍內 like 搜尋某種模式 in指定針對某個列的多個可能值...

c 基礎學習Day01

c 基礎學習day01 計算機系統 計算機系統由硬體 軟體組成 指令系統是硬體和軟體的介面。計算機語言和程式設計方法 計算機語言 程式設計師與計算機溝通的語言 描述解決問題的方法和相關資料。計算機語言的級別 二進位制 構成的機器語言 使用助記符的組合語言 使用類似英語單詞和語句的高階語言 c 是物件...

python之基礎學習day01

今天是python學習的第一天,收穫還是不少的,使用的編輯器為python3.7。第一天學習知識總結 1 編寫的第一句python語句 print hello world 2 python的兩種執行方式 python直譯器 py檔案路徑 python進入直譯器 實時輸入並獲取到執行結果 3 pyth...