爬虫百度贴吧分页练习

# 百度贴吧分页爬取练习
import urllib.request  # 请求库
import urllib.parse  # 解析
import random   # 随即库

# 封装三个请求头,由于防爬
headers = [{"User-Agent":"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.835.163 Safari/535.1"},
           {"User-Agent":"Mozilla/5.0 (Windows NT 6.1; WOW64; rv:6.0) Gecko/20100101 Firefox/6."},
           {"User-Agent":"User-Agent:Opera/9.80 (Windows NT 6.1; U; en) Presto/2.8.131 Version/11.11"}
                ]
# 随机选择一个User-Agent
header = random.choice(headers)

# 动态输入变量值
name = input("请输入贴吧名:")
start = int(input("请输入开始页:"))
end = int(input("请输入结束页:"))

# 解析为计算能识别的代码
kw = {"kw":name}
kw = urllib.parse.urlencode(kw)

# for循环
for i in range(start,end):
    pn = (i-1)*50
    url = "https://tieba.baidu.com/f?" # 请求地址
    url = url +kw +"&pn" +str(pn) # 拼接
    rqt = urllib.request.Request(url,headers=header)  # 请求对象
    res = urllib.request.urlopen(rqt)    # 响应对象
    html = res.read().decode("utf-8")    # 响应结果
    filename = "第"+str(i)+"页.html"    # 拼接

    # 保存到本地
    with open(filename,"w",encoding="utf-8") as f:
        f.write(html)


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值