美文网首页
爬虫学习(3)—初学者常用的小技巧

爬虫学习(3)—初学者常用的小技巧

作者: 罗汉堂主 | 来源:发表于2019-12-30 17:11 被阅读0次

寻找登录的post地址

  • 在form表单中寻找action对应的url地址(html页面)

    • post的数据是input标签中name的值作为键,真正的用户名密码作为值的字典,post的url地址就是action对应的url地址
  • 抓包(NetWork)

    • 勾选perserve log按钮,防止页面跳转找不到url
    • 寻找post数据,确定参数
      • 参数不会变,直接用,比如密码不是动态加密的时候
      • 参数会变
        • 参数在当前的响应中
        • 通过js生成

定位想要的js

  • 选择会触发js事件的按钮,点击event listener,找到js的位置
  • 通过chrome中的search all file来搜索url中的关键字
  • 通过添加断点的方式来查看js的操作,通过python来进行同样的操作

获取cookie

import requests

# 将cookie-jar转为字典
response = requests.get('http://www.baidu.com') 
print(requests.utils.dict_from_cookiejar(response.cookies))

# 将字典转为cookie-jar
print(requests.utils.cookiejar_from_dict({'a': '1'})

url地址的编、解码

# url解码
url = "https%3a%2f%2ftieba.baidu.com%2ff%3fkw%3d%e6%9d%8e%e6%af%85"
requests.utils.unquote(url)

# url编码
url = "https://tieba.baidu.com/f?kw=李毅"
requests.utils.quote(url)

忽视证书验证

import requests

# 忽视证书错误,一般是在请求https时候,加个参数就可以
requests.get('https://www.12306.cn/mormhweb/', verify=False)

设置超时

import requests

# 设置超时10s,如果10s内请求不成功则报错
requests.get(url, timeout=10)

配合状态码判断是否请求成功

import requests

response = requests.get(url)
assert response.status_code == 200

相关文章

网友评论

      本文标题:爬虫学习(3)—初学者常用的小技巧

      本文链接:https://www.haomeiwen.com/subject/dycmmctx.html