美文网首页大数据 爬虫Python AI Sql
4种Python爬虫(1. PC网页,如,莱美)

4种Python爬虫(1. PC网页,如,莱美)

作者: 王磊皮皮 | 来源:发表于2020-04-26 13:53 被阅读0次

    拍脑袋决策法已经成为了过去,现在无论大小公司都开始从上到下的借助数据做为理性决策的武器。爬虫(Spider)做为一种小型的自动化数据收集脚本,在今天大数据导向的商业模式广泛应用。而Python语法简单,有着丰富的第三方库的支持,成为了开发爬虫的一个方便快捷的选择。

    目录:
    1. PC网页爬虫
    2. H5网页爬虫
    3. 微信小程序爬虫
    4. 手机APP爬虫

    趁着疫情学习了下Python,初步窥探了一下爬虫,把这一个月学习实验的成果做个小结。

    经常爬取数据可能包括以下4个来源:

    1. PC版网页,包含静态网页、动态网页;
    2. 手机H5网页,如,很多微信公众号通过底部菜单链接的都是这类H5网页;
    3. 微信小程序,很多轻量级的应用都通过微信小程序与用户交互;
    4. 手机APP,部分应用只在其Android/iOS APP中提供完整的功能(数据);
      以上4种场景的爬取难度逐级递增,下面逐一给出简单的爬取方案,分别针对健身领域的莱美、超猩、乐刻的数据进行爬取。

    一、PC版网页爬虫

    1. 目标场景

    我选择了莱美官网为案例,爬取该网站上可供查询的认证教练、认证俱乐部信息。
    http://www.lesmills.com.cn/

    2. 场景分析

    在浏览器中分析各个数据页的URL:

    1. 教练员列表:https://www.lesmills.com.cn/search/index.asp?page=12&Group=2
    1. 认证详情:https://www.lesmills.com.cn/search/clubs5037756.html

    所有查询都不需要用户登录,真的是很厚道的网站。

    3. 方案思路

    1. 使用requests库,可以直接抓取html代码;
    2. 使用BeautifulSoap(bs4)库,解析html、提取数据;
    3. 根据解析到的链接,继续请求二级详情页;

    4. 关键代码

    import requests
    from bs4 import BeautifulSoup
    
    # 分页请求HTML
    for nPageCount in range(startPage, endPage + 1):
        # 构造查询
        sourceURL = "https://www.lesmills.com.cn/search/index.asp"
        pars = {'Group': 2, 'page': nPageCount}  # URL参数,Group=2 教练员,page查询分页
        response = requests.get(sourceURL, params=pars, timeout=5)
    
        # 提取教练信息
        bsPage = BeautifulSoup(html, 'html.parser')
        bsTable = bsPage.find_all("article", class_="topic-article-list__item")
    
        # 具体html解析略,参考源代码
    

    5. 爬取结果

    脚本执行录屏
    教练基本信息
    教练认证项目信息
    部分数据分析结果

    有些网页用以上方法时,从response中得不到完整的html,只能看到一些js文件。这类网页就需要使用我们以下第二种方法了。


    二、手机H5网页爬虫

    请点击:<下一页>

    相关文章

      网友评论

        本文标题:4种Python爬虫(1. PC网页,如,莱美)

        本文链接:https://www.haomeiwen.com/subject/kvrqwhtx.html