前言

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

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

执行结果:

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

05-11 22:19