zoukankan      html  css  js  c++  java
  • 【学习】01 猫眼电影爬虫-最受期待榜榜单

    参考来源:

    静觅丨崔庆才的个人博客

    项目地址:

    copywang/spiders_collection

    实现功能:

    1. 使用requests库爬取榜单
    2. 分析第1步获取的HTML数据,使用正则表达式过滤采集需要的信息字段,使用生成器存储字段数据,加上re.S参数连换行符一起输出
    3. 存储到log文件中
    4. 多线程爬取

    遇到的问题:

    1. get请求没有加User-Agent的header,爬虫被拒绝访问,添加后解决

    未解决问题:

    1. 期待度的2个数字不显示

    原因:源代码中展示的并不是纯粹的数字。而是在页面使用了font-face定义了字符集,并通过unicode去映射展示。简单介绍下这种新型的web-fongt反爬虫机制:使用web-font可以从网络加载字体

    解决方案

    收获:

    1. 学会了基本的requests操作,请求和分析一个静态页面
    2. 学会了基本的正则表达式操作,通过()获取得到不同的关键字,提取得到需要的信息
    3. 基本的写入文本文件操作
    4. 遇到最简单的反爬虫,加入header参数里面的user-agent即可
    5. 最简单的多线程抓取,map函数的使用
    6. 字符串转JSON生成字典,使用json.loads()方法
    7. 用生成器存储算法,而不是直接生成字典,避免存储空间浪费,在需要用到数据的时候,使用for循环调用生成器生成数据即可
    8. 保存到文件使用中文的时候,open方法中要使用encoding='utf-0',write方法中要使用ensure_ascii=False)
  • 相关阅读:
    ajax_注册
    mysql 二
    mysql基础
    django数据库批量创建
    私有属性
    mysql操作
    @property @classmethod @staticmethod
    python中的__new__方法
    员工信息表-装逼版
    三级菜单
  • 原文地址:https://www.cnblogs.com/copywang/p/7894509.html
Copyright © 2011-2022 走看看