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学习笔记(二)基础语法
Jun 06 Python
Python使用爬虫猜密码
Feb 19 Python
机器学习python实战之手写数字识别
Nov 01 Python
Python基于Flask框架配置依赖包信息的项目迁移部署
Mar 02 Python
pandas 按照特定顺序输出的实现代码
Jul 10 Python
对Python3.6 IDLE常用快捷键介绍
Jul 16 Python
对pandas的层次索引与取值的新方法详解
Nov 06 Python
对python中url参数编码与解码的实例详解
Jul 25 Python
基于Pytorch SSD模型分析
Feb 18 Python
python numpy实现rolling滚动案例
Jun 08 Python
Python matplotlib图例放在外侧保存时显示不完整问题解决
Jul 28 Python
史上最详细的Python打包成exe文件教程
Jan 17 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
收集的DedeCMS一些使用经验
2007/03/17 PHP
PHP压缩html网页代码(清除空格,换行符,制表符,注释标记)
2012/04/02 PHP
PHP扩展Memcache分布式部署方案
2015/12/06 PHP
PHP的imageTtfText()函数深入详解
2021/03/03 PHP
javascript下查找父节点的简单方法
2007/08/13 Javascript
JS的反射问题
2010/04/07 Javascript
如何设置一定时间内只能发送一次请求
2014/02/28 Javascript
Javascript中的异步编程规范Promises/A详细介绍
2014/06/06 Javascript
jQuery超酷平面式时钟效果代码分享
2020/03/30 Javascript
js简单实现调整网页字体大小的方法
2016/07/23 Javascript
Angular JS数据的双向绑定详解及实例
2016/12/31 Javascript
基于vue2的table分页组件实现方法
2017/03/20 Javascript
BootStrap导航栏问题记录
2017/07/31 Javascript
js 中rewrap-ajax.js插件实例代码
2017/10/20 Javascript
jQuery实现左右滑动的toggle方法
2018/03/03 jQuery
基于Vue2x实现响应式自适应轮播组件插件VueSliderShow功能
2018/05/16 Javascript
Element-ui之ElScrollBar组件滚动条的使用方法
2018/09/14 Javascript
JS实现根据数组对象的某一属性排序操作示例
2019/01/14 Javascript
用Cordova打包Vue项目的方法步骤
2019/02/02 Javascript
详解微信小程序开发用户授权登陆
2019/04/24 Javascript
通过实例了解js函数中参数的传递
2019/06/15 Javascript
vue excel上传预览和table内容下载到excel文件中
2019/12/10 Javascript
node.js Promise对象的使用方法实例分析
2019/12/26 Javascript
[01:54]胎教DOTA2 准妈妈玩家现身中国区预选赛
2016/06/26 DOTA
Python实现简单状态框架的方法
2015/03/19 Python
python抖音表白程序源代码
2019/04/07 Python
Python实现的多进程拷贝文件并显示百分比功能示例
2019/04/09 Python
django框架model orM使用字典作为参数,保存数据的方法分析
2019/06/24 Python
idea2020手动安装python插件的实现方法
2020/07/17 Python
Python不支持 i ++ 语法的原因解析
2020/07/22 Python
python3.9和pycharm的安装教程并创建简单项目的步骤
2021/02/03 Python
经典优秀个人求职自荐信格式
2013/09/25 职场文书
群众路线表态发言材料
2014/10/17 职场文书
家长对孩子的寄语
2015/02/26 职场文书
2015年公务员个人工作总结
2015/04/24 职场文书
2015年审计人员工作总结
2015/05/26 职场文书