Python爬蟲之自製英漢字典

2021-08-20 05:46:22 字數 4000 閱讀 7388

針對上述過程,對於熟悉爬蟲的讀者來說,是不難完成將輸入的單詞的中文意思從網頁中提取出來的。筆者的**如下:

import requests

from bs4 import beautifulsoup

# get word from command line

word = input("enter a word (enter 'q' to exit): ")

# main body

while

word != 'q': # 'q' to exit

try:

# 利用get獲取輸入單詞的網頁資訊

r = requests.get(url=''%word)

# 利用beautifulsoup將獲取到的文字解析成html

soup = beautifulsoup(r.text, "lxml")

# 獲取字典的標籤內容

s = soup.find(class_='trans-container')('ul')[0]('li')

# 輸出字典的具體內容

foritem

in s:

ifitem.text:

print(item.text)

print('='*40+'\n')

except exception:

print("sorry, there is a error!\n")

finally:

word = input( "enter a word (enter 'q' to exit): ")

執行上述python**,結果如下:

上述過程無疑是簡單的,下面,我們增加一些新的功能,如下:

將python**打包成exe檔案;

在cmd中輸出單詞的中文意思時,輸出為彩色文字。

利用ctypes模組,我們可以對windows系統進行簡單操作,而利用pyinstaller模組,我們可以將自己的python**打包成exe檔案。

改修的python**如下:

import requests

from bs4 import beautifulsoup

import random

import ctypes

std_input_handle = -10

std_output_handle = -11

std_error_handle = -12

foreground_darkblue = 0x01

# 暗藍色

foreground_darkgreen = 0x02

# 暗綠色

foreground_darkskyblue = 0x03

# 暗天藍色

foreground_darkred = 0x04

# 暗紅色

foreground_darkpink = 0x05

# 暗粉紅色

foreground_darkyellow = 0x06

# 暗黃色

foreground_darkwhite = 0x07

# 暗白色

foreground_darkgray = 0x08

# 暗灰色

foreground_blue = 0x09

# 藍色

foreground_green = 0x0a

# 綠色

foreground_skyblue = 0x0b

# 天藍色

foreground_red = 0x0c

# 紅色

foreground_pink = 0x0d

# 粉紅色

foreground_yellow = 0x0e

# 黃色

foreground_white = 0x0f

# 白色

std_out_handle = ctypes.windll.kernel32.getstdhandle(std_output_handle)

# 設定文字顏色

defset_cmd_text_color

(color, handle=std_out_handle):

bool = ctypes.windll.kernel32.setconsoletextattribute(handle, color)

return bool

# 重置文字顏色為白色

defresetcolor

(): set_cmd_text_color(foreground_darkwhite)

# 以指定顏色輸出文字

defcprint

(mess, color):

color_dict =

set_cmd_text_color(color_dict[color])

print(mess)

resetcolor()

# 顏色列表

color_list = ['暗藍色','暗綠色','暗天藍色','暗紅色','暗粉紅色','暗黃色','暗白色','暗灰色',\

'藍色','綠色','天藍色','紅色','粉紅色','黃色','白色']

print('#'*60)

print('#'*60+'\n')

# get word from command line

word = input("enter a word (enter 'q' to exit): ")

# main body

while word != 'q': # 'q' to exit

try:

# 利用get獲取輸入單詞的網頁資訊

r = requests.get(url=''%word)

# 利用beautifulsoup將獲取到的文字解析成html

soup = beautifulsoup(r.text, "lxml")

# 獲取字典的標籤內容

s = soup.find(class_='trans-container')('ul')[0]('li')

# 隨機選擇輸出的顏色

random.shuffle(color_list)

# 輸出字典的具體內容

for item in s:

if item.text:

cprint(item.text, color_list[0])

print('='*40+'\n')

except exception:

print("sorry, there is a error!\n")

finally:

word = input( "enter a word (enter 'q' to exit): ")

利用pyinstaller模組,將上述程式打包為exe檔案。比如我們剛才的python**的檔名為english_2_chinese_dict.py,位於e盤下的eng_2_chn資料夾下,我們可以在cmd中先切換到e盤下eng_2_chn資料夾,再輸入以下命令:

pyinstaller -f english_2_chinese_dict.py
這樣就會生成一些檔案,如下圖:

我們想要的生成的exe檔案位於dist資料夾下,執行該exe檔案,並測試,如下:

這樣我們也就實現了上述新增的功能,能夠更加方便地執行我們的程式。怎麼樣,是不是覺得python爬蟲酷酷的?不知作為新手的你,有沒有一點心動呢?趕緊學起來吧,哈哈~~

python自製英漢詞典

作為一位python小白,無意間發現在jclian91發布的部落格中做了個爬取有道詞典的翻譯爬蟲,本著學習的態度,借鑑大佬的 自己也擼了串 完成了自己的第乙個爬蟲 新增了gui介面,新增了從漢翻英的功能。中用到的第三方庫自行通過pip install安裝 如下 python3 coding utf ...

爬蟲的乙個小案例 python實現英漢互譯

什麼是網路爬蟲?網路爬蟲又稱網路蜘蛛,是指按照某種規則在網路上爬取所需內容的指令碼程式。眾所周知,每個網頁通常包含其他網頁的入口,網路爬蟲則通過乙個 依次進入其他 獲取所需內容。乙個小案例 python實現英漢互譯 import urllib.request import urllib.parse ...

Python爬蟲之爬蟲概述

知識點 模擬瀏覽器,傳送請求,獲取響應 網路爬蟲 又被稱為網頁蜘蛛,網路機械人 就是模擬客戶端 主要指瀏覽器 傳送網路請求,接收請求響應,一種按照一定的規則,自動地抓取網際網路資訊的程式。知識點 了解 爬蟲的概念 爬蟲在網際網路世界中有很多的作用,比如 資料採集 抓取招聘 的招聘資訊 資料分析 挖掘...