python爬虫实训日志_python爬虫学习日记(2)

本文介绍了Python爬虫中GET和POST方式传递参数的基本操作,通过搭建本地Flask框架进行演示。首先讲解了GET方式通过URL附加参数实现请求,然后转向POST方式,展示如何使用requests库发送POST请求。文章还展示了如何通过循环批量传递参数,并提到爬虫应用的可能性,如抓取网站数据。
摘要由CSDN通过智能技术生成

这次记录一下GET和POST传参的姿势。

这次传参为了直观看出结果,本地打了一个flask框架的网站,这里简单介绍下flask框架,不想了解可以跳过这里,毕竟这里是记录爬虫学习。

flask框架所有的flask都有程序实例,修饰器路由,启动服务器。

from flask import Flask,request

app = Flask(__name__)    #程序实例

print(__name__)

@app.route('/')     #修饰器

def index():                #路由

name = request.args.get('name')  #这里是用GET方式传参name = xxx

return 'Hello,%s!' % name        #返回Hello,xxx!

if __name__=='__main__':   #启动服务器

app.run()

大体知道了flask框架,这里如果通过get传入name=xxx参数后即返回Hello,xxx!这里运行一下3212de6de853ef8424630bf38c83a71d.png运行之后

GET方式传参

可以看到在本地http://127.0.0.1:5000/里运行。爬虫url就设置成这个,然后get方式传参即在url后面加个?即可实现url = "http://127.0.0.1:5000/"

res = requests.get(url+"?name=ico")    #requests.get

print(res.text)    #打印源码

这里传入name=ico508713626a958c435541c5d529fca2f3.png运行之后

可以看到传入成功。

POST方式传参

这里也需要把flask框架的路由改一下,改成接收post传参@app.route('/',methods=['GET','POST'])

def index():

name = request.form.get('name')    #这里用requests.form接收post,方式还是name=xxx

return "Hello,%s!" % name    #还是返回Hello,xxx!

post相比get就要麻烦很多要先设置个name

name = {"name":"ico"}

res = requests.post(url,data=name)    #利用requests.post传参

print(res.text)    #打印源码e9478020a940886fdc83b699664c9b58.png运行之后

和刚才一样。

这里我们玩一下,传入很多参数,毕竟跑脚本嘛

传大量参数

这里用到for循环,传入0-9。先试试post。for i in range(10):

name={"name":i}

res = requests.post(url,data=name)

print(res.content)185e9393f6f12ab2b45a0a8c17aeaafb.png运行之后

再试试getfor i in range(10):

res=requests.get(url+"?name="+i)

print(res.content)

一样的结果。

如果想传其他开始创个表,弄就完事了,例如classmates=['ico','Asuna','krrito']

for i in classmates:

data={"name":i}

res = requests.post(url,data=data)

print(res.content)5c4efb9d7c0dde1e30bdf60c02506a55.png运行之后

爬虫实在是太好玩了,下次记录下爬取网站特定东西,例如爬取b站动画区排行榜标题,不知道b站有没有反爬的东西,有的话我就没办法了,毕竟还是萌新。

大佬轻喷,如果有什么建议欢迎评论区提出

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值