爬取百度贴吧

# 带入需要使用的包
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)

 

posted @ 2018-12-12 16:23  Bob__Zhang  阅读(314)  评论(0编辑  收藏  举报