02 今日头条-采集和下载关键词“新垣结衣”的图集图片

Posted copywang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了02 今日头条-采集和下载关键词“新垣结衣”的图集图片相关的知识,希望对你有一定的参考价值。

参考:

静觅丨崔庆才的个人博客

项目地址:

copywang/spiders_collection

实现功能:

 

  1. 使用requests库爬取得到首页信息,返回的html代码中不包含需要的信息,都是些JS
  2. 在XHR中找到JSON请求和数据
  3. 使用request.get方法请求JSON数据,使用urlencode()生成完成的URL
  4. 在第3步中得到一个字符串,使用json.loads()方法生成字典形式的JSON变量,通过keys()方法获取需要的标题信息,定义成生成器,得到所有的
  5. 使用for循环调用第4步中的生成器,返回每个文章的url,传递给请求详情页的函数
  6. 如果请求到了详情页,那么解析详情页,需要从返回的HTML代码中获取字段信息,因此采用BeautifulSoup进行解析
  7. 用bs的select()方法获取title,并用get_text()取出第一个内容
  8. 使用正则表达式从解析后的页面中找到图片地址,返回的是一个字符串
  9. 第一次用json.load()返回的依然是1个字符串,需要嵌套多1层json.load()
  10. 在第9步返回的JSON变量中,使用get()方法提取所有图片的地址,返回一个list,再使用for循环,遍历返回的list,得到所有图片的下载地址,并下载,把结果保存到MongoDB

遇到的问题:

 

  1. 第9步的字符串也是反爬的手段之一,需要使用2次json.loads()

未解决问题:

收获

 

  1. 分析AJAX返回的网页
  2. 使用BeautifulSoup解析网页,并获取需要的信息
  3. 字符串转JSON常量
  4. 保存图片

以上是关于02 今日头条-采集和下载关键词“新垣结衣”的图集图片的主要内容,如果未能解决你的问题,请参考以下文章

爬取今日头条历史图集将信息保存到MongDB,并且下载图片到本地

爬虫实战Ajax解析续-今日头条图片下载

爬虫实战Ajax解析续-今日头条图片下载

新垣结衣的孩子长啥样?用 StyleGAN 开源项目,一次看个够

新垣结衣的孩子长啥样,用 BabyGAN 预测试试

爬虫实战Ajax内容解析-今日头条图集