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中marshal对象序列化的相关知识
Jul 01 Python
python编程开发之类型转换convert实例分析
Nov 13 Python
深入浅析python中的多进程、多线程、协程
Jun 22 Python
Python自动化测试ConfigParser模块读写配置文件
Aug 15 Python
Python2.X/Python3.X中urllib库区别讲解
Dec 19 Python
Python2.7环境Flask框架安装简明教程【已测试】
Jul 13 Python
python实现对象列表根据某个属性排序的方法详解
Jun 11 Python
详解一种用django_cache实现分布式锁的方式
Sep 01 Python
解决tensorflow打印tensor有省略号的问题
Feb 04 Python
Python实现屏幕录制功能的代码
Mar 02 Python
Python datetime 格式化 明天,昨天实例
Mar 02 Python
Python日志器使用方法及原理解析
Sep 27 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脚本并取得参数的方法
2016/01/25 PHP
php实现留言板功能(代码详解)
2017/03/28 PHP
PHP单例模式与工厂模式详解
2017/08/29 PHP
Yii框架日志记录Logging操作示例
2018/07/12 PHP
Javascript中的isNaN函数使用说明
2011/11/10 Javascript
Node.js事件循环(Event Loop)和线程池详解
2015/01/28 Javascript
jQuery实现TAB风格的全国省份城市滑动切换效果代码
2015/08/24 Javascript
javascript如何实现360度全景照片问题汇总
2016/04/04 Javascript
jQuery EasyUI框架中的Datagrid数据表格组件结构详解
2016/06/09 Javascript
详解AngularJS1.x学习directive 中‘& ’‘=’ ‘@’符号的区别使用
2017/08/23 Javascript
Vue组件之全局组件与局部组件的使用详解
2017/10/09 Javascript
详解webpack提取第三方库的正确姿势
2017/12/22 Javascript
使用Vue.js开发微信小程序开源框架mpvue解析
2018/03/20 Javascript
详解如何在微信小程序开发中正确的使用vant ui组件
2018/09/13 Javascript
使用VUE+iView+.Net Core上传图片的方法示例
2019/01/04 Javascript
关于微信小程序map组件z-index的层级问题分析
2019/07/09 Javascript
[01:02:02]DOTA2上海特级锦标赛A组败者赛 EHOME VS CDEC第二局
2016/02/25 DOTA
[36:14]DOTA2上海特级锦标赛D组小组赛#1 EG VS COL第二局
2016/02/28 DOTA
python在多玩图片上下载妹子图的实现代码
2013/08/13 Python
浅谈Python基础之I/O模型
2017/05/11 Python
Pandas过滤dataframe中包含特定字符串的数据方法
2018/11/07 Python
Python 中使用 PyMySQL模块操作数据库的方法
2019/11/10 Python
Python 安装 virturalenv 虚拟环境的教程详解
2020/02/21 Python
python自动化测试三部曲之unittest框架的实现
2020/10/07 Python
Python 远程开关机的方法
2020/11/18 Python
HTML5自定义元素播放焦点图动画的实现
2019/09/25 HTML / CSS
深深扎根运动世界的生活品牌:Tillys
2017/10/30 全球购物
欧洲最大的滑雪假期供应商之一:Sunweb Holidays
2018/01/06 全球购物
机电专业毕业生求职信
2013/10/27 职场文书
新闻记者个人求职的自我评价
2013/11/28 职场文书
社区学雷锋活动策划方案
2014/01/30 职场文书
新闻稿格式范文
2015/07/18 职场文书
环境保护宣传标语大全!
2019/06/28 职场文书
实习报告范文
2019/07/30 职场文书
创业计划书之服装
2019/10/07 职场文书
Promise面试题详解之控制并发
2021/05/14 面试题