【学习】02 今日头条爬虫-采集和下载关键词“新垣结衣”的图集图片
参考:
静觅丨崔庆才的个人博客
项目地址:
copywang/spiders_collection
实现功能:
- 使用requests库爬取得到首页信息,返回的HTML代码中不包含需要的信息,都是些JS
- 在XHR中找到JSON请求和数据
- 使用request.get方法请求JSON数据,使用urlencode()生成完成的URL
- 在第3步中得到一个字符串,使用json.loads()方法生成字典形式的JSON变量,通过keys()方法获取需要的标题信息,定义成生成器,得到所有的
- 使用for循环调用第4步中的生成器,返回每个文章的url,传递给请求详情页的函数
- 如果请求到了详情页,那么解析详情页,需要从返回的HTML代码中获取字段信息,因此采用BeautifulSoup进行解析
- 用bs的select()方法获取title,并用get_text()取出第一个内容
- 使用正则表达式从解析后的页面中找到图片地址,返回的是一个字符串
- 第一次用json.load()返回的依然是1个字符串,需要嵌套多1层json.load()
- 在第9步返回的JSON变量中,使用get()方法提取所有图片的地址,返回一个list,再使用for循环,遍历返回的list,得到所有图片的下载地址,并下载,把结果保存到MongoDB
遇到的问题:
- 第9步的字符串也是反爬的手段之一,需要使用2次json.loads()
未解决问题:
无
收获
- 分析AJAX返回的网页
- 使用BeautifulSoup解析网页,并获取需要的信息
- 字符串转JSON常量
- 保存图片
【学习】02 今日头条爬虫-采集和下载关键词“新垣结衣”的图集图片相关推荐
- 今日头条新闻采集爬虫分享
神箭手云爬虫如何采集今日头条新闻 -神箭手云爬虫 -一站式云端通用爬虫开发平台24小时不停机 多样化采集网页内容,快速产生大量而优质的内容,操作简单,无需专业知识. 1.打开神箭手云爬虫官网 2.创建 ...
- 今日头条 爬虫 java_Java爬虫实践:Jsoup+HttpUnit爬取今日头条、网易、搜狐、凤凰新闻...
0x0 背景 最近学习爬虫,分析了几种主流的爬虫框架,决定使用最原始的两大框架进行练手: Jsoup&HttpUnit 其中jsoup可以获取静态页面,并解析页面标签,最主要的是,可以采用类似 ...
- 今日头条爬虫实战----爬取图片
点击上方"蓝字"关注我们 今日头条爬虫实战 Mar 27, 2020 本期介绍通过在头条中搜索关键词后,分析ajax内容来爬取相关图片 本文约1.8k字,预计阅读10分钟. 有时候 ...
- 最新今日头条抢红包福袋脚本下载
1.打开无障碍 2.输入卡密 3.点击开始运行 4.自动今日直播间开启抢包模式 ➡最新今日头条抢红包福袋脚本下载地址
- python爬今日头条组图_(python爬虫之)ajax解析爬取今日头条组图并下载
首先吐槽一波csdn配色真直男,囧 此次任务需要注意的是: 用request.get方法的时候要加cookie, 网页源代码也改动了,详情页进入后不是一个json数据包,是一个html文档. 以及其它 ...
- 学习仿今日头条疫情地图+用户画像(echarts)
Echarts Chartjs 最近由于公司图表展现需求较多,所以学习整理下相关资料. 前端图表框架也比较多,这里介绍两款. Apache Echarts Chartjs Apache Echarts ...
- 今日头条 爬虫 java_java实现简单的爬虫之今日头条
前言 需要提前说下的是,由于今日头条的文章的特殊性,所以无法直接获取文章的地址,需要获取文章的id然后在拼接成url再访问.下面话不多说了,直接上代码. 示例代码如下 public class Dem ...
- PHP头条爬虫,今日头条爬虫分析-爬取用户发的所有内容
今日头条的用户页数据爬取跟频道页的数据爬取大部分很类似,但稍微有一点不一样,就是用户主页的接口signature有点不一样,需要将当前爬取的用户id和分页时间戳一起作为入参传递进去才能获取到真正的si ...
- 今日头条 爬虫 java_爬虫实例:今日头条爬虫
今日头条是一个js动态加载的网站,尝试了两种方式爬取,一是页面直接提取,一是通过接口提取: version1:直接页面提取 #coding=utf-8#今日头条 from lxml importetr ...
最新文章
- api网关揭秘--spring cloud gateway源码解析
- 去除C++中string前面和后面的空白符
- Kotlin基础-扩展
- UVA 10410——Tree Reconstruction
- Python 为什么要用线程池?
- 软件开发,维护与支持的困惑
- oracle 的逻辑结构设计,浅谈Oracle数据库逻辑结构
- 如何学习UG编程?零基础入门学UG难吗
- 鲁迅朱安:留给世纪的背影_拔剑-浆糊的传说_新浪博客
- 解析torrent种子信息
- mysql语句总结_mysql语句总结
- SAP 必须参照采购申请创建采购订单的配置方法
- 带你读论文系列之计算机视觉--GoogLeNet
- C++ 引用Lib和Dll的方法总结
- 黑龙江职业学院计算机考试,黑龙江2021年9月计算机等级考试考点安排 在哪考试...
- Linux调度系统全景指南(上篇)
- 非科班学python就业_非科班出身自学Python,这些实用方法学习方法你知道吗!
- 服务器cpu e3系列型号,Intel发布至强E3-1200 v3全系列型号
- 新媒体绩效考核系数计算公式_20种新的绩效最佳做法
- 自己动手写个微型 CSDN 吧,还能实现网页版 Blink,No.1
热门文章
- .py默认打开方式修改为cmd之后无法改回,始终默认打开方式灰显的解决方案(其他文件类型方法同)
- 2018年计算机专业对口升学,2018年届对口升学考试计算机专业月考三试题.doc
- java.text.dateformat_调用static java.text.DateFormat的方法不可取?
- Oracle中ROWID详解及应用
- python3删除sina微博
- utf-8写入csv乱码
- 保安培训内容大纲_初级保安培训视频
- Tableau数据分析类职位
- NetData 入门
- Python 时间比较