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()

python3_RoboBrowser_test的更多相关文章

随机推荐

  1. IDisposable接口

    C#中IDisposable接口的主要用途是释放非托管资源.当不再使用托管对象时,垃圾回收器会自动释放分配给该对象的内存.但无法预测进行垃圾回收的时间.另外,垃圾回收器对窗口句柄或打开的文件和流等非托 ...

  2. Monogb基本概念及基本操作

    MongoDB是面向文档的数据库. 索引:MongoDB支持通用辅助索引,能进行多种快速查询,也提供唯一的.复合的和地理空间索引能力. 存储JavaScript:开发人员不必使用存储过程了,可以直接在 ...

  3. IAP 程序内购

    最近用到IAP内置购买,阅读官方文档,在网上找了些资料,在这里作下整理,以便日后查找和修改,主要流程方向确定,文档和相关转载内容截图不一一指出,google一堆. 1.查找官方文档,两张目录截图,对主 ...

  4. Egret

    http://www.manew.com/forum-html5Engine-1.html http://www.manew.com/forum-html5Engine-1.html https:// ...

  5. 学生信息管理系统v1.0

    昨天一个教师朋友找到我,告诉我现在学期末他工作比较忙.需要统计处理很多学生信息,想让我帮他做一个管理系统.实现的功能就是把WPS表格转化成Word文档,将每一个学生的信息都能够分开,并且要根据名字找到 ...

  6. 【转】Web应用的组件化开发(二)

    原文转自:http://blog.jobbole.com/56170/ 管控平台 在上一篇中我们提到了组件化的大致思路,这一篇主要讲述在这么做之后,我们需要哪些外围手段去管控整个开发过程.从各种角度看 ...

  7. (实用篇)多个PHP中文字符串截取函数

    字符串截取是一个非常常见的编程任务,而往往带中文的字符串截取会经常用到.虽然不难,但是自己写函数实现又耗费时间,这里介绍一个比较好用的字符串截取函数,能够胜任基本的需求了 <?php funct ...

  8. 第二部分:python 常用操作与函数

    2.1,交换两数据>> a,b = b,a 2.2,去掉list中的重复元素>> list1 = [1,2,3,2,3,2,5,6]>> list1 = list( ...

  9. linux 中 chmod/chown/cngrp的用法与区别

      1.chgrp(转变文件所属用户组) chgrp 用户组 文件名 .若是整个目次下的都改,则加-R参数用于递归. 如:chgrp -R user smb.conf 2.chown(转变文件拥有者) ...

  10. ZOJ 1045 HangOver

    原题链接 题目大意:叠扑克牌,给出伸出长度,问最多需要几张扑克牌. 解法:循环累加.退出循环后向上取整输出. 参考代码: #include<iostream> using namespac ...