该文章主要描述如何抓取百度贴吧内容。当然是简单爬虫实现功能,没有实现输入参数过滤等辅助功能,仅供小白学习。

前言

该文章主要描述如何抓取百度贴吧内容。当然是简单爬虫实现功能,没有实现输入参数过滤等辅助功能,仅供小白学习。

修改时间:20191219

天象独行

import os,urllib.request,urllib.parse

'''
    测试要求:
        1;输入吧名,首页,结束页进行爬虫。
        2;创建一个以吧名为名字的文件夹,里面是每一页的html的内容,文件名格式:吧名_page.html
'''
url = "https://tieba.baidu.com/f?"

ba_name = input("请输入需要下载的吧名: ")
home_page = int(input("请输入首页:"))
end_page = int(input("请输入结束页:"))
#创建一个路径变量:
path = "C:\\Users\\aaron\\Documents\\Python3-test"
os.makedirs(path)
'''
    pn = 0  第一页
    pn = 50 第二页
    pn = 100 第三页
    。。。。
    pn = (n-1)*50 第n页
'''
for page in range(home_page,end_page+1):
    #构造请求参数字典
    data = {
        "kw":ba_name,
        "ie":"urt-8",
        "pn":(page-1)*50
    }
    #构造请求hearders头
    #构造请求参数
    url_get = urllib.parse.urlencode(data)
    #构造请求url
    url_get = url + url_get
    #请求url
    request = urllib.request.urlopen(url_get)
    #创建一个文件名
    filename = ba_name + '_' + str(page) + '.html'
    #拼接文件路径
    filepath = path + '\\' + filename
    print(filepath)
    #写入内容
    with open(filepath,'wb') as fp:
        fp.write(request.read())

执行结果:

python爬取贴吧前10页 python爬取贴吧数据_python爬取贴吧前10页