spider表单登录神器robobrowser

常规表单登录

获取验证需要的隐藏域,然后传上用户加密码在加上隐藏域

resp = requests.get('http://github.com/login')
    cookies = resp.cookies.get_dict()
    if resp.status_code != 200:
        return None
    soup = BeautifulSoup(resp.text, 'lxml')
    utf8_value = soup.select_one('form input[name=utf8]').attrs['value']
    authenticity_token_value = soup.select_one('form input[name=authenticity_token]').attrs['value']
    print(utf8_value)
    print(authenticity_token_value)
    print(cookies)
    data = {
        'utf8': utf8_value,
        'authenticity': authenticity_token_value,
        'login': '123456',
        'password': '123456'
    }
    files = {
        'file1': '',
        'file2': ''
    }
    response = requests.post('https://github.com/session', data=data, cookies=cookies,
                             files=files)
    print(response.text)

表单神器的用法,可以避开表单的隐藏域

import robobrowser


def main():
    b = robobrowser.RoboBrowser(parser='lxml')
    b.open('https://v.taobao.com/v/content/live?catetype=704&from=taonvlang')
    for img_tag in b.select('img[src]'):
        print(img_tag.attrs['src'])


if __name__ == '__main__':
    main()
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • HTML表单 在HTML中,表单是 ... 之间元素的集合,它们允许访问者输入文本、选择选项、操作对象等等,然后将...
    兰山小亭阅读 8,711评论 2 14
  • 万条垂下绿丝绦
    寒香js阅读 3,021评论 0 1
  • 文/莹千 新打开一副半月抛的隐形眼镜,只带了一天,第二天早上发现盛眼睛的小盒子是空的,连液体都没有了,旁...
    莹千阅读 5,212评论 0 2
  • 一周总结: -------- 1.深度营销:能够达到深度分销就是最有效的销售方式,不一定非得一窝蜂的上互联网加,传...
    w小郭阅读 1,621评论 0 0

友情链接更多精彩内容