Python 3.5 编写简单的百度贴吧采集程序

Python学习入门

今天学习了Python网络爬虫的知识,试着写了一个简单的爬虫程序,用于爬取百度贴吧的网页并保存为HTML文件。

实现该功能的思路:
通过对贴吧URL的观察,可以看出贴吧中的帖子的URL有这样一个特征,以“http://tieba.baidu.com/p/4463392102?pn=3”这个URL为例,它由“http://tieba.baidu.com/p/4463392102?”和“pn=3”组成,其中,前半部分为帖子第一页的URL,而“pn=”则决定了第几页(比如pn=3为第三页)。通过这样的分析我们大致

可以获得这样的思路:

1.通过用户输入贴子id确认贴吧地址
2.通过循环实现对要保存文件的命名,下载进度显示等功能的实现
3.将解析到的HTML文档写入我们之前创建的文件之中
4.关闭文件,程序结束


# -*- coding: utf-8 -*-

import urllib, string, urllib.request
# 定义贴吧爬虫函数
def tieba(postId):
    url = "http://tieba.baidu.com/p/" + postId
    start = 1
    end = 2

    for i in range(start,end+1):
        fName= "files/"+str(i)+'.html'
        print('正在下载第'+str(i)+'个文件,并将其转存为'+fName)
        file = open(fName,'w+')
        req_url = url + "?pn=" + str(i)
        print(req_url);
        # 基于resquest生成response对象
        response=urllib.request.urlopen(req_url)
        # bytes to string
        data = str(response.read())
        # 写入文件
        file.write(data)
        # 关闭文件  
        file.close()
   
# 获取贴子ID   
post_id=str(input('请输入贴子的ID\n'))

#调用函数
tieba(post_id)




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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值