Python 爬虫学习1

一个简单的百度贴吧爬虫程序:

代码:

# -*- coding: utf-8 -*-  
#---------------------------------------  
#   程序:百度贴吧爬虫  
#   语言:Python 2.7  
#   操作:输入带分页的地址,去掉最后面的数字,设置一下起始页数和终点页数。  
#   功能:下载对应页码内的所有页面并存储为html文件。  
#---------------------------------------  
   
import string, urllib2  
   
#定义百度函数  
def baidu_tieba(url,begin_page,end_page):     
    for i in range(begin_page, end_page+1):  
        sName = string.zfill(i,5) + '.html'#自动填充成六位的文件名  
        print '正在下载第' + str(i) + '个网页,并将其存储为' + sName + '......'  
        f = open(sName,'w+')  
        m = urllib2.urlopen(url + str(i)).read()  
        f.write(m)  
        f.close()  
   
   
#-------- 在这里输入参数 ------------------  
  
bdurl = str(raw_input(u'请输入贴吧的地址,去掉pn=后面的数字:\n'))  
begin_page = int(raw_input(u'请输入开始的页数:\n'))  
end_page = int(raw_input(u'请输入终点的页数:\n'))  
#-------- 在这里输入参数 ------------------  
   
  
#调用  
baidu_tieba(bdurl,begin_page,end_page)  

 学习笔记:

定义一个百度函数,这个函数可以将你所要爬虫的贴吧网页保存到本地。

函数三个参数:

url,begin_page,end_page
url:贴吧主页
urlbegin_page和end_page:你所要爬下来的开始和结束页数
i 循环数 从开始页数到结束页数

sName为保存到本地的文件名

string.zfill(i,5)保证文件名为6位数字 

sName = string.zfill(i,5) + '.html'#自动填充成六位的文件名 string.zfill(i,5)的意思是以i命名然后填充到5位 不足的部分补0 例如 string.zfill(3,5) 的命名是00003

html为文件后缀

str(i) 将 i 变成字符串 因为i 本来是int型 

然后将m写入f 这个文件,m内容就是urllib2用urlopen打开你所要爬下来的网页,当然是html格式...

写入 关闭这一个, 然后写下一个网页直到 你所要结束的页数。

 

bdurl = str(raw_input(u'请输入贴吧的地址,去掉pn=后面的数字:\n'))  

begin_page = int(raw_input(u'请输入开始的页数:\n'))  

end_page = int(raw_input(u'请输入终点的页数:\n')) 

这三行代码就是在运行时要你自己输入的东西 ..

 

最后就是调用啦~附个图 

我是用pycharm来运行的。

 

转载于:https://www.cnblogs.com/IrisLee/p/5803674.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值