Python spider2
3.1 寻找登录的post地址·在form表单中寻找action对应的url地址
post的数据是input标签中name的值作为键,真正的用户名密码作为值的字典,post的url地址就是action对应的url地址.
抓包,寻找登录的url地址
勾选perserve log按钮,防止页面跳转找不到url。寻找post数据,确定参数
参数不会变,直接用,比如密码不是动态加密的时候
参数会变:参数在当前的响应中;通过js生成
定位想要的js
·选择会触发js时间的按钮,点击event listener,找到s的位置·通过chrome中的searchall file来搜索url中关键字
.添加断点的方式来查看is的操作,通过python来进行同样的操作
www.bilibili.com/video/BV1cd4y1y7d7?p=16&vd_source=bbd2966da727b3376515872084138922 抓包获取登录的post地址的方法步骤如下:
[*]打开开发者工具,选择Network选项卡,勾选Preserve log按钮,防止页面跳转找不到url。
[*]在登录页面中输入用户名密码,点击登录按钮。
[*]从Network面板中找到登录请求对应的条目,查看该请求的Method为POST,说明是一个POST请求。
[*]查看该请求的Headers部分,找到请求的Form Data数据,这里包括了用户名、密码等登录信息。如果参数不会变,直接使用该参数即可;如果参数会变,需要在当前响应中或者通过js生成获取参数。
[*]查看该请求的Headers部分,找到Request URL,这就是该登录请求所使用的POST地址。
另外,在定位想要的js时,可以选中会触发js事件的按钮,然后点击Elements选项卡上的Event Listeners选项,找到该事件对应的js位置。也可以通过Chrome中的搜索功能(Search All Files)来搜索url中关键字,再用断点的方式来查看js的操作。最后,可以通过Python来进行同样的操作。 print("Tom的年龄是%d岁"%age)
print("Tom的年龄是{}岁".format(age)) a=["跳绳","跳高","跳远","铅球"]
fs=open("sports4.csv","w")
fs.write(" ".join(a)+'\n') CSV文件以逗号分割列,以\n分割行
#fs.write(",".join(a),end='\n') 没有end这个参数
fs.close()
#1程序段的功能是表示将a中各项元素用空格符进行连接,
#1并写入到sports.csv文件中,“w”表示可写入。若文件不存在,可自创 fs.write(",".join(a)+'\n')
fs.write(",".join(a)+',')
完全等价, 如果赋值给1个变量,将会把整个元组 赋值给变量。
def f():
return 1,2
def f():
return (1,2)
a,b = f()等价 (a,b)= f() Pcharm: 代码文件显示区、代码区、控制台; Faulse :0,none, [], (), {}, ""
print(1 and 100) # 真,返回 第2个值, 否则返回第一个值 ;有比较运算符存在,则返回 :BOOL 占位符;
f表达式;
字符串的 .format 方法; 每天打卡学习中 python程序传递参数:
python main.py aa 11 22
sys.argv = ["main.py", "aa","11","22"] 创建实例属性的三种方法:
1)实例化;
2)实例对象 调用实例方法;
3)构造函数:又称魔术方法,不需手动调用;
页:
[1]