• 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 xml解析实例详解
  • Python合并多个装饰器小技巧
  • python实现从一组颜色中找出与给定颜色最接近颜色的方法
  • Python编写的com组件发生R6034错误的原因与解决办法
  • 以一个投票程序的实例来讲解Python的Django框架使用
  • Python中的匿名函数使用简介
  • Python实现3行代码解简单的一元一次方程
  • python3模拟百度登录并实现百度贴吧签到示例分享(百度贴吧自动签到)
  • python通过装饰器检查函数参数数据类型的方法
  • python下paramiko模块实现ssh连接登录Linux服务器

文章分类

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

最近更新的内容

    • 9种python web 程序的部署方式小结
    • Python实现二分查找与bisect模块详解
    • 批处理与python代码混合编程的方法
    • python关键字and和or用法实例
    • Python使用Redis实现作业调度系统(超简单)
    • python使用电子邮件模块smtplib的方法
    • Python break语句详解
    • Python 通过pip安装Django详细介绍
    • python实现哈希表
    • python基础while循环及if判断的实例讲解

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

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