1. 说明
做数据挖掘常常需要抓取网页内容,有些工具能通过分析url中的链接,把整个网站抓下来,也就是我们常说的爬虫工具。
有时候需要把交互网页的内容抓下来,比如:在input框中输入想查的内容,服务器端实时计算结果,或者从数据库中查询后返回结果。像整句翻译功能,查询食物的热量等等。下面介绍Python用GET和POST方式抓取实时内容的方法。
2. GET方式
GET方式把要查询的参数放在url地址中,非常简单。下例用Python程序,查询运单信息,写法如下:
import urllib.request
url = 'http://cha.xxx.cn/?stype=kd&q=123456'
req = urllib.request.Request(url)
html = urllib.request.urlopen(req).read()
print(html.decode("utf8"))
import urllib.request
url = 'http://cha.xxx.cn/?stype=kd&q=123456'
req = urllib.request.Request(url)
html = urllib.request.urlopen(req).read()
print(html.decode("utf8"))
GET方式,用问号和等号“addr?key=value”的方式,以明文的方式,向服务器传送要查询的内容。此时,就能打印出html网页的内容了。由此可见python的网络工具真的很方便。
有时候需要查询一些中文信息,比如查询樱桃的卡路里,需要字换中文字符,可使用以下方法:
#-*- coding:utf-8 -*-
import urllib.request
import urllib.parse
url = "http://www.xxx.com/food/search"
postdata = urllib.parse.urlencode({
"keyword":"樱桃"
}).encode("utf-8")
req = urllib.request.Request(url,postdata)
html = urllib.request.urlopen(req).read()
print(html.decode("utf8"))
#-*- coding:utf-8 -*-
import urllib.request
import urllib.parse
url = "http://www.xxx.com/food/search"
postdata = urllib.parse.urlencode({
"keyword":"樱桃"
}).encode("utf-8")
req = urllib.request.Request(url,postdata)
html = urllib.request.urlopen(req).read()
print(html.decode("utf8"))
3. POST方式
POST方法相对复杂一些,常用它传送用户名,密码等不可见的参数,使用它的主要问题是:不知道程序定义的关键字key是什么。一般可以通过查看页源码,看它表单的input中如何定义,但有时候源码中调用其它程序实现,不能直接看到关键字,下面介绍如何使用浏览器提供的工具,查看本地与服务器的交互信息,以确定关键字。
在浏览器中打开翻译网站(最好使用chrome或chromium),按F12打开调试工具。选择其中的Netword选项卡。

在输入框中输入要翻译的内容“樱桃”,点“翻译”按钮时,查看调试工具中最核心的步骤是检测当前语言”langdetect”和翻译”v2transapi”,点击该项,即可以查看请求的具体内容和返回值。以检测当前语言为例,其中请求内容中就有其request url(http://fanyi.baidu.com/langdetect),以及关键字(post参数query)。把它们设置在Python中即可,具体方法如下:
# coding:utf-8
import requests
url = "http://fanyi.xxx.com/langdetect"
d = {"query":"樱桃"}
r = requests.post(url, data=d)
print(r.text)
# coding:utf-8
import requests
url = "http://fanyi.xxx.com/langdetect"
d = {"query":"樱桃"}
r = requests.post(url, data=d)
print(r.text)
此时,返回的是json串,数据少容易解析。
4. 参考
Python网络爬虫(Get、Post抓取方式)
https://blog.csdn.net/fly_yr/article/details/49005033
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具