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()
python3_RoboBrowser_test的更多相关文章
随机推荐
- Mac OS 使用Git
入门教程的流程: 什么是Git----------------->为什么选择Git----------------->如何安装Git到MAC OS X------------------& ...
- postfix 邮件备份方法
postfix 邮件备份方法: postfix的bcc(密送)功能可以根据条件,将所有经过postfix队列的邮件根据规则密送到指定的邮箱. postfix带有三个bcc参数: ①.always_bc ...
- 查单神器v1.0 升级 →B站看鬼畜神器v1.0
去年学校实习,我去了一家快递输单公司工作.工作任务就是把运单图片上的内容(寄件人,地址之类)输入到公司的数据库里.每天输单结束后,还要对一些容易错的运单进行排查.单量多的时候一天甚至要查千张以上的运单 ...
- 转:Highcharts图表控件的使用
摘要 Highcharts图表控件是目前使用最为广泛的图表控件.本文将从零开始逐步为你介绍Highcharts图表控件.通过本文,你将学会如何配置Highcharts以及动态生成Highchart图表 ...
- LeetCode Pow(x, n) (水题)
题意: 求浮点型x的n次幂结果. 思路: logN直接求,注意n可能为负数!!!当n=-2147483648的时候,千万别直接n=-n,这样的结果是多少?其他求法大同小异. class Solutio ...
- 《深入浅出Node.js》第2章 模块机制
@by Ruth92(转载请注明出处) 第2章 模块机制 JavaScript 先天缺乏的功能:模块. 一.CommonJS 规范: JavaScript 规范的缺陷:1)没有模块系统:2)标准库较少 ...
- setTimeout方法
//不建议传递字符串 setTimeout(alert("hello"),1000); //推荐调用方式 setTimeout(function(){alert("hel ...
- PAT (Basic Level) Practise:1040. 有几个PAT
[题目链接] 字符串APPAPT中包含了两个单词“PAT”,其中第一个PAT是第2位(P),第4位(A),第6位(T):第二个PAT是第3位(P),第4位(A),第6位(T). 现给定字符串,问一共可 ...
- jconsole远程查看jvm性能
Java VisualVM -- JDK自带的强大性能监测工具 这里给出了另一种,可以通过jdk下bin目录下的jconsole.exe来观察java程序内存的使用及变化情况 一般远程调试可以用,性能 ...
- Linux的服务器初始优化脚本。
#!/bin/bash #优化服务器启动的脚本.禁用无关账号.无关服务 #Lock User Account passwd -l xfs passwd -l news passwd -l nscd p ...