批量爬取百度贴吧


# 带入需要使用的包
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)
 
原文地址:https://www.cnblogs.com/zhangboblogs/p/10108894.html