urllib.request.urlopen(url, data=none, [timeout, ]*, cafile=none, capath=none, cadefault=false, context=none)url不僅可以是乙個字串,例如:也可以是乙個request物件.
urlopen()返回的物件,除了read()
方法外,還有geturl()
方法、info()
方法、getcode()
方法。、
1. 抓包分析geturl()
:返回的是乙個url的字串;
info()
:返回的是一些meta標記的元資訊,包括一些伺服器的資訊;
getcode()
:返回的是http的狀態碼,如果返回200表示請求成功。
開啟 network 選項卡進行監控,並選擇 xhr 作為 filter 進行過濾
然後,我們在輸入框中輸入待翻譯的文字進行測試,可以看到如下圖紅色框中的內容
我們還可看到乙個 request headers 中有乙個:
這個user-agent的意思是告訴伺服器我使用谷歌瀏覽器訪問的,有些**會有反爬蟲,如果發現你是爬蟲訪問的就會阻止你,我們只要加上這個user-agent就可以讓伺服器以為我們是使用者通過瀏覽器訪問的
記住上面三個資料,下面我們就要用到。
直接上完整**
import urllib.request
import urllib.parse
import json
# 請求的**
request_url = ""
while true:
text = input("翻譯內容")
#表單資料(需要翻譯的內容)
form_data =
#建立乙個user-agent
#使用urlencode方法轉換標準格式
data = urllib.parse.urlencode(form_data).encode('utf-8')
# 構造請求物件
req = urllib.request.request(request_url,data,head)
# 傳送請求,獲得響應
req = urllib.request.urlopen(req)
# 獲取伺服器響應資料
req_data = req.read().decode("utf-8")
#使用json解析資料
html = json.loads(req_data)
#找到想要的結果
results = html['data'][0]['v']
#列印結果
如果還想要具體一點的結果可以使用 正則或者split()
方法 這裡就不詳細說明了。
如果還想增加一點難度,可以試一試有道翻譯 方法類似,有興趣的話可以自己嘗試一下。
Python爬蟲入門
今天看了菜鳥教程的python教程,準備做個小作業寫個爬蟲程式。其中主要涉及到基本語法 正規表示式 urllib和re兩個模組。import urllib 載入模組 import re defgethtml url page urllib.urlopen url html page.read ret...
python爬蟲入門
這幾天閒的無聊想做乙個爬蟲來爬取一些 正經 首先選擇用python作為爬蟲的語言。但是沒有接觸過python怎麼辦呢,只能從頭開始學了。python學習位址這個是廖大神寫的乙個python入門,個人感覺寫的非常不錯,在粗略的學習了一遍之後感覺可以開始我的爬蟲之旅了。目標 抓取中妹子的儲存在本地 接下...
python爬蟲入門
初學者要學會基本的爬蟲 先要安裝包requests requests的安裝 開啟這個 在這個 上面有很多 python 的第三方庫檔案,我們按 ctrl f 搜尋很容易找到 requests 如下圖,我們將第乙個資料夾,也就是 requests 資料夾複製到 python 的安裝目錄下的 lib 目...