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实现针对含中文字符串的截取功能示例
Sep 22 Python
Python浅复制中对象生存周期实例分析
Apr 02 Python
python调用matlab的m自定义函数方法
Feb 18 Python
Django保护敏感信息的方法示例
May 09 Python
浅析python 中大括号中括号小括号的区分
Jul 29 Python
python函数修饰符@的使用方法解析
Sep 02 Python
Win10下python 2.7与python 3.7双环境安装教程图解
Oct 12 Python
python爬虫开发之使用python爬虫库requests,urllib与今日头条搜索功能爬取搜索内容实例
Mar 10 Python
解决python虚拟环境切换无效的问题
Apr 30 Python
Python如何实现定时器功能
May 28 Python
Pymysql实现往表中插入数据过程解析
Jun 02 Python
Python源码解析之List
May 21 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
实用函数4
2007/11/08 PHP
自编函数解决pathinfo()函数处理中文问题
2014/11/03 PHP
PHP实现WebService的简单示例和实现步骤
2015/03/27 PHP
javascript div 遮罩层封锁整个页面
2009/07/10 Javascript
创建公共调用 jQuery Ajax 带返回值
2012/08/01 Javascript
js实现的常用的左侧导航效果
2013/10/17 Javascript
js实现仿京东2级菜单效果(带延时功能)
2015/08/27 Javascript
Bootstrap实现下拉菜单效果
2016/04/29 Javascript
Node.js Streams文件读写操作详解
2016/07/04 Javascript
Node.js中.pfx后缀文件的处理方法
2017/03/10 Javascript
vue实现全选、反选功能
2020/11/17 Javascript
JS实现数组深拷贝的方法分析
2019/03/06 Javascript
解决layui页面按钮点击无反应,也不报错的问题
2019/09/29 Javascript
jQuery实现验证用户登录
2019/12/10 jQuery
深入理解webpack process.env.NODE_ENV配置
2020/02/23 Javascript
vue+springboot+element+vue-resource实现文件上传教程
2020/10/21 Javascript
[01:10:03]OG vs EG 2018国际邀请赛淘汰赛BO3 第三场 8.23
2018/08/24 DOTA
python中引用与复制用法实例分析
2015/06/04 Python
Python 网页解析HTMLParse的实例详解
2017/08/10 Python
Python应用库大全总结
2018/05/30 Python
python实现点击按钮修改数据的方法
2019/07/17 Python
Python 读取WAV音频文件 画频谱的实例
2020/03/14 Python
python语音识别指南终极版(有这一篇足矣)
2020/09/09 Python
纽约的奢华内衣店:Journelle
2016/07/29 全球购物
美国最受欢迎的度假目的地优惠套餐:BookVIP
2018/09/27 全球购物
2014离婚协议书范文
2014/09/10 职场文书
大学生党校培训心得体会
2014/09/11 职场文书
未受刑事制裁公证证明
2014/09/20 职场文书
基层党员群众路线教育实践活动个人对照检查材料思想汇报
2014/10/05 职场文书
2014年幼儿园教师工作总结
2014/11/08 职场文书
求职自荐信怎么写
2015/03/04 职场文书
设备技术员岗位职责
2015/04/11 职场文书
2015年建筑工作总结报告
2015/05/04 职场文书
少先队中队工作总结2015
2015/07/23 职场文书
react合成事件与原生事件的相关理解
2021/05/13 Javascript
Golang jwt身份认证
2022/04/20 Golang