zoukankan      html  css  js  c++  java
  • 批量爬取百度贴吧

    
    
    # 带入需要使用的包
    from urllib import request, parse
    import os
    # 基础知识
    # 变量赋值
    # 字符串赋值 爬取的关键字
    kw = 'lol'
    # 数值赋值 爬取的页数范围
    start = 1
    end = 4
    # 输出
    # print(kw, start, end)
    # 声明需要爬取的连接
    base_url = 'https://tieba.baidu.com/f?'
    # 创建文件夹 存放页面数据
    # os.makedirs(kw)
    # 声明一个字典
    qs = {'kw': kw}
    # 构造pn查询参数
    for i in range(start, end + 1):
    # print(i)
    # 算出pn和i之间的关系
    # 1 --> 0 2 --> 50 3 --> 100 4 --> 150
    pn = (i - 1) * 50
    qs['pn'] = str(pn)
    # 将字典 转换为 kw=lol&pn=0 字符串
    qs_data = parse.urlencode(qs)
    # 构建一个完整的url地址 然后进行请求 返回 https://tieba.baidu.com/f?kw=lol&pn=100
    full_url = base_url + qs_data
    # 发起请求 并接受响应
    response = request.urlopen(full_url)
    # 读取响应内容
    html = response.read().decode('utf-8')
    # 存入相应的文件当中
    with open(kw + '/' + str(i) + '.html', 'w', encoding='utf-8') as f:
    f.write(html)
     
  • 相关阅读:
    有没有用户体验+UI+前端集于一身的人
    ruby array.count
    ruby subset
    向李刚同学道歉
    rails3转载
    RVM and Capistrano
    paperclip自定制文件名
    ruby爬虫
    rails3已经内置subdomain
    摘录
  • 原文地址:https://www.cnblogs.com/zhangboblogs/p/10108894.html
Copyright © 2011-2022 走看看