输
午休睡不着,用Python爬虫写了个英汉词典玩玩。试了几家网站,发现用有道词典做出来效果比较靠谱。
爬虫思路:
1
有道词典网页源代码:
注意划线部分的标签属性,爬虫程序要抓取这部分信息
2
Python爬虫程序:
print("欢迎使用英汉词典")
print("输入⚆_⚆?退出")
print("----------------")
# 引入相关模块
import sys
import re
import bs4
import urllib.request
from bs4 import BeautifulSoup
import urllib.parse
# 规定外部输入
search = input("请输入英语单词:")
# 使用循环语句
while search != '⚆_⚆?':
if search == '⚆_⚆?':
exit(0)
try:
url = 'http://dict.youdao.com/w/'+urllib.parse.quote(search)
# 读取网页
html = urllib.request.urlopen(url)
content = html.read().decode('utf-8')
html.close()
# 解析网页
soup = BeautifulSoup(content, "lxml")
text = soup.find('div', class_="trans-container")
print("汉语释义:")
# 使用正则表达式处理文本
for x in text:
word = re.sub(re.compile(r""),'',str(x))
words = re.sub(re.compile(r"\[(.+?)\]"),'',word)
print(words)
except:
print("未检索到")
print("----------------")
search = input("请输入英语单词:")
3
英汉词典运行效果:
在爬虫程序中,我用while循环语句做用户交互。随便查了几个单词,效果特好。这里卖个萌,词典的退出指令是颜文字⚆_⚆?
领取专属 10元无门槛券
私享最新 技术干货