python爬蟲入門 用urllib實現百度翻譯

2021-09-24 02:26:01 字數 1713 閱讀 9255

urllib.request.urlopen(url, data=none, [timeout, ]*, cafile=none, capath=none, cadefault=false, context=none)

url不僅可以是乙個字串,例如:也可以是乙個request物件.

urlopen()返回的物件,除了read()方法外,還有geturl()方法、info()方法、getcode()方法。、

geturl():返回的是乙個url的字串;

info():返回的是一些meta標記的元資訊,包括一些伺服器的資訊;

getcode():返回的是http的狀態碼,如果返回200表示請求成功。

1. 抓包分析

開啟 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 目...