• python3_RoboBrowser_test


    python3_RoboBrowser_test

    selenium库作为交互是非常方便的,但是却大大加长了加载的时间,例如需要渲染网址,加载js,造成在爬虫过程中时间变长。

    因此找到一个虚拟的浏览器,同样具备selenium的部分功能,例如登陆,提交表单等,测试代码如下:

    # !/usr/bin/python3.4
    # -*- coding: utf-8 -*-
    
    from robobrowser import RoboBrowser
    import requests
    
    # https://github.com/jmcarp/robobrowser
    
    s = requests.Session()
    # 这里可以携带cookie
    header = {'User-Agent':
                  'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:46.0) Gecko/20100101 Firefox/46.0',
              'Referer':
                  'http://www.baidu.com',
              'Host': 'www.baidu.com',
              'Accept': 'text/plain, */*; q=0.01',
              'Accept-Encoding': 'gzip, deflate',
              'Accept-Language': 'zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3',
              'Connection': 'keep-alive'}
    
    s.headers = header
    browser = RoboBrowser(history=True, session=s)
    browser.open('http://www.baidu.com')
    # form = browser.get_form(action=re.compile(r'loginshop'))
    # <form id="form" class="fm" action="/s" name="f">
    form = browser.get_form(action="/s", )
    # 搜索
    # 这里填的是name
    # form[name].value=
    form['wd'].value = 'TTyb'
    browser.submit_form(form)
    print(browser.parsed)
    browser.back()
    
    
  • 相关阅读:
    CF 1083 A. The Fair Nut and the Best Path
    2434: [Noi2011]阿狸的打字机
    HDU 6086 Rikka with String
    HDU 2825 Wireless Password
    异常处理与补充模块
    面向对象
    初始socket
    面向对象的进阶(组合和继承)
    初始面向对象
    python之其他模块的用法
  • 原文地址:https://www.cnblogs.com/TTyb/p/6033620.html
Copyright © 2020-2023  润新知