python简易爬虫

这是一个小的网页爬虫,主要参考博客 虫师 . 代码大部分是原作者虫师的,我将自己的一些理解加入到里面。
大致思路是:首先我们需要使用模块 urllib 中的函数urlopen将网页下载下来,其次利用正则表达式查找需要的内容。
下面是一些注意的细节。
使用正则表达式首先需要导入模块re,函数compile 是把正则表达式转换成一个正则表达式对象。在IDE中利用help(compile)得到它的文档:

Compile a regular expression pattern, returning a pattern object.

函数findall 是在文件中将正则表达式对象取出来做成一个list。
最后我们就可以将这个list打印出来。
查看网页html代码的方法:我使用Firefox浏览器,任意打开一个网页,在相关超链接下点击右键,在菜单中打开查看元素 就可以看到html源代码。

下面的代码将百度贴吧中的任取的一页中的发帖作者打印出来。

#coding=utf-8
import urllib
import re

def get_html_file():
    page=urllib.urlopen("http://tieba.baidu.com/f?kw=%E9%A3%8E%E6%99%AF&fr=wwwt")  #打开网页
    html=page.read()      #读取整个html文件
    return html      
h=get_html_file()             #下载网页  

def get_title(html):
    reg=r'主题作者.+"'      #所要查找的正则表达式(选取时可能需要多试几个表达式才能达到想要的结果)
    Title=re.compile(reg) #将正则表达式转换成正则表达式对象
    tlist=re.findall(Title,html)#在html中查找正则表达式对象tlist
    #打印list
    i=1
    for g in tlist:
        print i
        print g
        i+=1

get_title(h)

参考:
http://www.cnblogs.com/fnng/p/3576154.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值