python 自动提交和抓取网页

时间:2022-11-16 17:47:01 

下面是用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,自动提交,抓取网页
0
投稿

猜你喜欢

  • php截取utf-8中文字符串乱码的解决方法

    2024-04-29 13:56:52
  • python 用递归实现通用爬虫解析器

    2022-04-15 08:13:55
  • python实现飞船大战

    2022-09-19 02:17:26
  • 基于Python预测一下世界杯最后赢家

    2021-01-30 16:16:48
  • 新手入门Mysql--概念

    2024-01-27 17:00:18
  • mysql 重要日志文件汇总

    2024-01-28 20:34:55
  • pycharm导入第三方库的两种方法(永不报错)

    2022-08-28 14:21:57
  • python基础教程之分支、循环简单用法

    2021-05-30 08:51:48
  • 账户名和密码漏输或误输的文字提示

    2009-06-24 14:28:00
  • python进行两个表格对比的方法

    2021-12-15 20:31:57
  • Python与Matlab混合编程的实现案例

    2023-01-14 14:44:39
  • 浅谈keras 模型用于预测时的注意事项

    2022-10-16 13:23:04
  • python自动化测试selenium操作checkbox和radiobox技术

    2021-11-01 16:12:54
  • python实现一个简单的贪吃蛇游戏附代码

    2022-10-21 13:27:30
  • django+xadmin+djcelery实现后台管理定时任务

    2023-12-15 03:05:52
  • Golang实现文件传输功能

    2023-08-05 13:50:31
  • Golang实现带优先级的select

    2024-04-26 17:36:41
  • idea激活码最新获取方法(idea2020激活码汇总)

    2024-01-03 08:42:52
  • Tensorflow: 从checkpoint文件中读取tensor方式

    2022-07-20 11:39:29
  • python实现生命游戏的示例代码(Game of Life)

    2023-11-02 21:33:35
  • asp之家 网络编程 m.aspxhome.com