• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >python > 在Python中使用cookielib和urllib2配合PyQuery抓取网页信息

在Python中使用cookielib和urllib2配合PyQuery抓取网页信息

作者: 字体:[增加 减小] 来源:互联网

通过本文主要向大家介绍了python3 cookielib,python cookielib,python cookielib下载,python cookielib安装,python urllib2等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

刚才好无聊,突然想起来之前做一个课表的点子,于是百度了起来。

刚开始,我是这样想的:在写微信墙的时候,用到了urllib2【两行代码抓网页】,那么就只剩下解析html了。于是百度:python解析html。发现一篇好文章,其中介绍到了pyQuery。

pyQuery 是 jQuery 在 Python 中的实现,能够以 jQuery 的语法來操作解析 HTML 文档。使用前需要安装,Mac安装方法如下:

sudo easy_install pyquery

</div>

OK!安装好了!

我们来试一试吧:

from pyquery import PyQuery as pq
html = pq(url=u'http://seam.ustb.edu.cn:8080/jwgl/index.jsp')
#现在已经获取了本科教学网首页的html
classes = html('.haveclass')
#通过类名获取元素
#如果你对jQuery熟悉的话,那么你现在肯定明白pyQuery的方便了
更多用法参见pyQuery API

</div>

好像学会了使用pyQuery就能抓课表了呢,但是,如果你直接用我的源码,肯定会出错。因为还没有登录啊!

所以,在运行这一行抓取正确的代码之前,我们需要模拟登录本科教学网。这个时候,我想起来urllib有模拟post请求的函数,于是我百度了:urllib post。

这是一个最简的模拟post请求例子:

import urllib
import urllib2
import cookielib

cj = cookielib.CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
opener.addheaders = [('User-agent','Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)')]
urllib2.install_opener(opener)
req = urllib2.Request("http://seam.ustb.edu.cn:8080/jwgl/Login",urllib.urlencode({"username":"41255029","password":"123456","usertype":"student"}))
req.add_header("Referer","http://xxoo.com")
resp = urllib2.urlopen(req)
#这里面用到了cookielib,我不太清楚,以后慢慢了解吧
#还用到了urllib和urllib2,urllib2大概是urllib的扩展包【233想到了三国杀

</div>

在这个最简的实例里,用我的校园网账号向登录页面提交表单数据,模拟登录。

现在,我们已经登录了本科教学网,然后结合之前的pyQuery解析html就可以获取网页内的课表了。

html = pq(url=u'http://seam.ustb.edu.cn:8080/jwgl/index.jsp')
self.render("index.html",data=html('.haveclass'))

</div>

结果展示如图:

最后:

我发现,pyQuery不但用于解析html非常方便,而且可以作为跨域抓取数据的工具,NICE!!!

希望对大家有帮助。

</div>

您可能想查找下面的文章:

  • Python使用cookielib模块操作cookie的实例教程
  • 在Python中使用cookielib和urllib2配合PyQuery抓取网页信息
  • 在Python中使用cookielib和urllib2配合PyQuery抓取网页信息
  • 使用Python中的cookielib模拟登录网站
  • 使用Python中的cookielib模拟登录网站
  • python使用cookielib库示例分享
  • python cookielib 登录人人网的实现代码
  • python cookielib 登录人人网的实现代码

相关文章

  • Python中super的用法实例
  • 深入解析Python中的线程同步方法
  • Python2.x中str与unicode相关问题的解决方法
  • Python selenium 三种等待方式详解(必会)
  • python 正则式使用心得
  • Python实现的Google IP 可用性检测脚本
  • Python中使用OpenCV库来进行简单的气象学遥感影像计算
  • Python实现Mysql数据库连接池实例详解
  • python实现矩阵乘法的方法
  • Python中属性和描述符的正确使用

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • 详解在Python程序中解析并修改XML内容的方法
    • python基础入门详解(文件输入/输出 内建类型 字典操作使用方法)
    • python3制作捧腹网段子页爬虫
    • Windows下使Python2.x版本的解释器与3.x共存的方法
    • 一个超级简单的python web程序
    • python实现数组插入新元素的方法
    • 使用python实现strcmp函数功能示例
    • python Django模板的使用方法(图文)
    • python求列表交集的方法汇总
    • Python抓取京东图书评论数据

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有