python网络爬虫(一)
网络爬虫是一个很有意思的技术,我一直都想尝试着学习网络爬虫这项技术。
其基本原理比较简单:就是模拟客户端发送请求,得到服务器端的响应,从中获取到有用的信息。
但是现在的网站基本都有防爬策略、且会对请求或者服务器端进行一定加密。所以,我建议尽量一开始尽量去爬取无加密的网站,有加密的网站需要取看源码(比较麻烦)。
我抄了别人一段爬取有道翻译的代码,自己改了一下:
import urllib.request import urllib.parse import json def translate(): centens = input('输入要翻译的语句:') url = 'http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule' head = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36'} # 增加请求头,防反爬虫 UA伪装 data = {'i':centens, 'from':'AUTO', 'to':'AUTO', 'smartresult':'dict', 'client':'fanyideskweb', 'salt':'16057996372935', 'lts':'1605799637293', 'bv':'f7d97c24a497388db1420108e6c3537b', 'doctype':'json', 'version':'2.1', 'keyfrom': 'fanyi.web', 'action': 'FY_BY_REALTlME' } # 带上from data的数据进行请求 data = urllib.parse.urlencode(data).encode('utf-8') req = urllib.request.Request(url, data, head) response = urllib.request.urlopen(req) html = response.read().decode('utf-8') req = json.loads(html) result = req['translateResult'][0][0]['tgt'] # print(f'中英互译的结果:{result}') return result t = translate() print(f'中英互译的结果:{t}')
分类:
工程问题
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理