• Python3---爬虫---抓取百度贴吧


    前言

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

    修改时间: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())

    执行结果:

  • 相关阅读:
    CSS-常用hack
    CSS触发haslayout的方法
    CSS最大最小宽高兼容
    CSS-文字超出自动显示省略号
    [LeetCode][JavaScript]Number of Islands
    [LeetCode][JavaScript]Search a 2D Matrix II
    [LeetCode][JavaScript]Search a 2D Matrix
    [LeetCode][JavaScript]Candy
    [LeetCode][JavaScript]Wildcard Matching
    [LeetCode][JavaScript]Sliding Window Maximum
  • 原文地址:https://www.cnblogs.com/aaron456-rgv/p/12072797.html
Copyright © 2020-2023  润新知