python 自动提交和抓取网页

 更新时间:2009年07月13日 00:36:49   作者:  
最近在研究怎么样做个自动发帖器,要完成这个工具难度蛮大的,验证码就是一个大问题(还没有想到解决办法哦,不管了),先要解决的是如何抓取,分析和提交页面的问题。
下面是用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://www.jb51.net").read())
form = tree.forms[0]
form.fields["q"] = "eplussoft"
form.action="https://www.jb51.net/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 把小伙伴制作成表情包

    这篇文章主要介绍了如何利用 Python把你的小伙伴变成表情包,在日常生活中,我们经常会存取一些朋友们的丑照,在这个项目中,我们以萌萌哒的熊猫头作为背景,然后试着在背景图上加入朋友们的照片,下面详细内容需要的小伙伴可以参考一下
    2022-02-02
  • 如何利用Python快速绘制海报级别地图详解

    如何利用Python快速绘制海报级别地图详解

    Python之所以这么流行,是因为它不仅能够应用于科技领域,还能用来做许多其他学科的研究工具,最常见的便是绘制地图,这篇文章主要给大家介绍了关于如何利用Python快速绘制海报级别地图的相关资料,需要的朋友可以参考下
    2021-09-09
  • Python专用方法与迭代机制实例分析

    Python专用方法与迭代机制实例分析

    这篇文章主要介绍了Python专用方法与迭代机制,包括类的私有方法、专有方法、模块私有对象、迭代__iter__()方法的对象等,需要的朋友可以参考下
    2014-09-09
  • 图邻接矩阵可视化解析

    图邻接矩阵可视化解析

    这篇文章主要介绍了基于图邻接矩阵可视化解析,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-12-12
  • Python 数据结构之旋转链表

    Python 数据结构之旋转链表

    这篇文章主要介绍了Python 数据结构之旋转链表的相关资料,需要的朋友可以参考下
    2017-02-02
  • python利用Excel读取和存储测试数据完成接口自动化教程

    python利用Excel读取和存储测试数据完成接口自动化教程

    这篇文章主要介绍了python利用Excel读取和存储测试数据完成接口自动化教程,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-04-04
  • Python调用shell命令常用方法(4种)

    Python调用shell命令常用方法(4种)

    这篇文章主要介绍了Python调用shell命令常用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-05-05
  • python抓取网页中链接的静态图片

    python抓取网页中链接的静态图片

    这篇文章主要为大家详细介绍了python抓取网页中链接的静态图片,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-01-01
  • 详解Python的Twisted框架中reactor事件管理器的用法

    详解Python的Twisted框架中reactor事件管理器的用法

    这篇文章主要介绍了详解Python的Twisted框架中reactor事件管理器的用法,Twisted是一款高人气的异步Python开发框架,需要的朋友可以参考下
    2016-05-05
  • Pytorch训练网络过程中loss突然变为0的解决方案

    Pytorch训练网络过程中loss突然变为0的解决方案

    这篇文章主要介绍了Pytorch训练网络过程中loss突然变为0的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-05-05

最新评论