python 自动提交和抓取网页


Posted in Python onJuly 13, 2009

下面是用python写的,使用lxml来做html分析,从网上看到的,说是分析速度最快的哦,不过没有验证过。好了,上代码。

import urllib 
import urllib2 
import urlparse 
import lxml.html 
def url_with_query(url, values): 
parts = urlparse.urlparse(url) 
rest, (query, frag) = parts[:-2], parts[-2:] 
return urlparse.urlunparse(rest + (urllib.urlencode(values), None)) 
def make_open_http(): 
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor()) 
opener.addheaders = [] # pretend we're a human -- don't do this 
def open_http(method, url, values={}): 
if method == "POST": 
return opener.open(url, urllib.urlencode(values)) 
else: 
return opener.open(url_with_query(url, values)) 
return open_http 
open_http = make_open_http() 
tree = lxml.html.fromstring(open_http("GET", "https://3water.com").read()) 
form = tree.forms[0] 
form.fields["q"] = "eplussoft" 
form.action="https://3water.com/search" 
response = lxml.html.submit_form(form,open_http=open_http) 
html = response.read() 
doc = lxml.html.fromstring(html) 
lxml.html.open_in_browser(doc)

恩,验证码是个大问题。还有今天看了一些百度贴吧上的东西,更是坏了心情,它的验证码是用ajax取的图片,这就更加麻烦了。不过好像现在大多数的论坛和博客的验证码都是这样的了。这样第一次抓取下来的页面就不会包含有验证码图片了,更不要说分析验证码图片了。要解决的问题还是很多的。。。
Python 相关文章推荐
python实现的二叉树算法和kmp算法实例
Apr 25 Python
python探索之BaseHTTPServer-实现Web服务器介绍
Oct 28 Python
Python中pillow知识点学习
Apr 30 Python
python中csv文件的若干读写方法小结
Jul 04 Python
python scp 批量同步文件的实现方法
Jan 03 Python
python爬虫 正则表达式解析
Sep 28 Python
Python程序暂停的正常处理方法
Nov 07 Python
python 实现一个反向单位矩阵示例
Nov 29 Python
关于Python turtle库使用时坐标的确定方法
Mar 19 Python
pyinstaller打包单文件时--uac-admin选项不起作用怎么办
Apr 15 Python
Python使用pdb调试代码的技巧
May 03 Python
python boto和boto3操作bucket的示例
Oct 30 Python
python self,cls,decorator的理解
Jul 13 #Python
python 解析html之BeautifulSoup
Jul 07 #Python
打印出python 当前全局变量和入口参数的所有属性
Jul 01 #Python
python 查找文件夹下所有文件 实现代码
Jul 01 #Python
python 运算符 供重载参考
Jun 11 #Python
python getopt 参数处理小示例
Jun 09 #Python
用python分割TXT文件成4K的TXT文件
May 23 #Python
You might like
PHP中几个常用的魔术常量
2012/02/23 PHP
php中Socket创建与监听实现方法
2015/01/05 PHP
JavaScript 小型打飞机游戏实现原理说明
2010/10/28 Javascript
jquery提交form表单时禁止重复提交的方法
2014/02/13 Javascript
jquery处理json对象
2014/11/03 Javascript
javascript实现网页子页面遍历回调的方法(涉及 window.frames、递归函数、函数上下文)
2015/07/27 Javascript
JavaScript实现下拉列表框数据增加、删除、上下排序的方法
2015/08/11 Javascript
理解javascript正则表达式
2016/03/08 Javascript
基于RequireJS和JQuery的模块化编程——常见问题全面解析
2016/04/14 Javascript
详解Vue-cli 创建的项目如何跨域请求
2017/05/18 Javascript
JavaScript设计模式之代理模式详解
2017/06/09 Javascript
AngularJs 最新验证手机号码的实例,成功测试通过
2017/11/26 Javascript
Vue使用vue-recoure + http-proxy-middleware + vuex配合promise实现基本的跨域请求封装
2019/10/21 Javascript
js动态生成表格(节点操作)
2021/01/12 Javascript
python实现在无须过多援引的情况下创建字典的方法
2014/09/25 Python
Python模仿POST提交HTTP数据及使用Cookie值的方法
2014/11/10 Python
python对DICOM图像的读取方法详解
2017/07/17 Python
Python调用系统底层API播放wav文件的方法
2017/08/11 Python
python实现xlsx文件分析详解
2018/01/02 Python
Python lambda表达式用法实例分析
2018/12/25 Python
浅谈python3.x pool.map()方法的实质
2019/01/16 Python
在Pandas中处理NaN值的方法
2019/06/25 Python
python开启debug模式的方法
2019/06/27 Python
pytorch 状态字典:state_dict使用详解
2020/01/17 Python
Python timer定时器两种常用方法解析
2020/01/20 Python
HTML5之SVG 2D入门10—滤镜的定义及使用
2013/01/30 HTML / CSS
Data URI scheme详解和使用实例及图片base64编码实现方法
2014/05/08 HTML / CSS
大学生大二自我鉴定
2013/10/28 职场文书
上课迟到检讨书100字
2014/01/11 职场文书
后勤服务中心总经理工作职责
2014/03/03 职场文书
简历中个人自我评价分享
2014/03/15 职场文书
大一新生学期自我评价
2014/04/09 职场文书
中队活动总结
2014/08/27 职场文书
村党支部书记四风问题个人对照检查材料思想汇报
2014/10/06 职场文书
怎样写工作总结啊!
2019/06/18 职场文书
springboot利用redis、Redisson处理并发问题的操作
2021/06/18 Java/Android