栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

爬虫笔记day02

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

爬虫笔记day02

静态数据百度贴吧案例

请求头:headers={‘User-Agent’:‘Mozilla/5.0 (Windows NT 6.1; WOW64; rv:6.0) Gecko/20100101 Firefox/6.0’}
需求:
1、输入贴吧名称:如明星吧
2、输入起始页
3、输入终止页
4、保存到本地文件:如xxx第1页.html

实现步骤:
1、查看所抓取数据在响应内容中是否存在
右键-查看网页源码-搜索所抓取数据的关键字
2、查看并分析url地址规律
如:第一页:https://tieba.baidu.com/f?kw=%E6%98%8E%E6%98%9F%E5%90%A7&pn=0
第二页:https://tieba.baidu.com/f?kw=%E6%98%8E%E6%98%9F&ie=utf-8&pn=50
则第n页为pn=(n-1)*50
3、发送请求获取响应内容
4、保存到本地

#代码演示
import urllib.request
import urllib.parse
import time
import random

class BaiduTiebaSpider:
    def __init__(self):
        #定义常量
        self.url='https://tieba.baidu.com/f?kw={}&pn={}'
        self.headers={'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:6.0) Gecko/20100101 Firefox/6.0'}

    #获取响应内容
    def get_html(self,url):
        req=urllib.request.Request(url=url,headers=self.headers)
        res=urllib.request.urlopen(req)
        html=res.read().decode()
        return html

    #解析提取数据函数(这个例子并不使用这个函数)
    def parse_html(self):
        pass

    #数据保存函数
    def save_html(self,filename,html):
        with open(filename,'w',encoding='utf-8') as f:
            f.write(html)

    #程序入口
    def run(self):
        name=input("请输入贴吧的名称:")
        start=int(input("请输入起始页面:"))
        end=int(input("请输入终止页面:"))
        params=urllib.parse.quote(name)

        #拼接url地址
        for page in range(start,end+1):
            pn=(page-1)*50
            url=self.url.format(params,pn)
            #发送响应请求
            html=self.get_html(url)
            filename='{}第{}页.html'.format(name,page)
            # 保存页面
            self.save_html(filename,html)
            print("第{}页获取成功".format(page))
            #控制数据抓取的时间频率,避免给网站造成高并发
            time.sleep(random.randint(1,3))

if __name__ == '__main__':
    spider=BaiduTiebaSpider()
    spider.run()
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/581009.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号