【学习】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)
posted @ 2017-11-25 09:55  copywang  阅读(271)  评论(0)    收藏  举报