打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
桌面开发 | 进击的马斯特

使用python抓取网页(以人人网新鲜事和团购网信息为例)

前一段时间写的小东西,一直没工夫把他系统写出来,今天眼睛疼,就写写吧~~(原来博主不蛋疼时也会更新博客的哈~)

python抓取网页基础

python自己带有很多网络应用相关的模块,如:ftplib用于FTP相关操作,smtplib和poplib用于收发电子邮件等等,利用这些 模块自己写一个FTP软件或是邮件客户端类软件完全是可能的,我就简单的试过完全用python脚本收发邮件和操作自己的FTP服务器。当然,这都不是今 天的主角,我们今天要用到的几个模块是:urllib,urllib2,cookielib,BeautifulSoup,我们先来简单介绍下。 urllib和urllib2自然都是处理URL相关的操作,urllib可以从指定的URL下载文件,或是对一些字符串进行编码解码以使他们成为特定的 URL串,而urllib2则比urllib更2一点,哦不对,是更牛逼一点。它有各种各样的Handler啊,Processor啊可以处理更复杂的问 题,比如网络认证,使用代理服务器,使用cookie等等。第三个cookielib,顾名思义,专门处理cookie相关的操作,其他的我也没深入过。 而最后一个包,BeautifulSoup,“美丽的汤”,它是一个第三方的包,专门用于解析HTML和XML文件,使用非常之傻瓜,我们就要靠它来解析 网页源代码了,可以从这里下载,当然你也可以用easy_install安装它,这里还有它的中文使用文档,有多例子是相当不错的。

我们先来看看最简单的网页抓取,其实网页抓取就是将所要的网页源代码文件下载下来,然后对其分析以提取对自己有用的信息。最简单的抓取用一句话就可以搞定:

1
2
import urllib
html_src = urllib.urlopen('http://www.baidu.com').read()

这样就会打印出百度首页的HTML源码了,还是很easy的。urllib的urlopen函数会返回一个“类文件”对象,所以直接调用 read()即可获取里面的内容了。但是这样打印得到的内容是一团糟,排版不好看,编码问题也没解决,所以是看不到中文字符的。这就需要我们的 BeautifulSoup包了,我们可以使用上面得到的源代码字符串html_src来初始化一个BeautifulSoup对象:

1
2
from BeautifulSoup import BeautifulSoup
parser = BeautifulSoup(html_src)

这样,后续处理HTML源码的工作交给parser变量来负责就好,我们可以简单的调用parser的prettify函数来相对美观的显示源码, 可以看到这样就能看到中文字符了,因为BeautifulSoup能自动处理字符问题,并将返回结果都转化为Unicode编码格式。另 外,BeautifulSoup还能迅速定位到满足条件的指定标签,后面我们会用到~

“批量重命名”小工具

最近看了点Python的东西,加上前一段看的Qt,就写了这么一个“批量重命名”的工具。写下这篇文章,简单总结一下写代码的过程中遇到的一些乱七八糟的问题!

小工具简介

这个小东西的编写主要基于Python,感觉Python很适合做类似的小东西。GUI界面使用的是PyQt框架,Qt的Python版本,两个东东都是跨平台的,我是在Windows下写的,不过这个东西在Linux下跑应该也是没问题的。我已经在Google Code(前往)中建了项目,包含所有源代码和打包后的exe下载,以后我会继续完善这个东西,加一点我想要的功能。先来张截图吧,直观感觉一下。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Python 爬虫介绍 | 菜鸟教程
利用 Python 爬取网站的新手指南 | Linux 中国
手把手教你用python抓网页数据
【杂谈】爬虫基础与快速入门指南
python网络爬虫常用技术
Python万能代码模版:爬虫代码篇
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服