爬虫方案设计(一)
爬虫方案设计(一)
算不上爬虫教程。仅供个人交流学习使用,禁止转载,严禁商用!!!任何商业用途与本人无关!
任务:
爬取某视频网站的内容
目标:
- 遍历视频作品
- 遍历视频作品的所有评论
- 构建用户观看历史记录(通过评论去分析曝光,因为弹幕数据没有用户id信息,因此不作为分析目标)
- 数据简单分析及其可视化
计划:
爬虫:模仿用户浏览网站视频内容,其中三个要素:请求信息、请求接口、请求内容。我们主要围绕如何获取这3个要素讨论。
现在很多网站都会采取一些反爬措施,防止恶意访问,否则,如果高并发访问网站的接口,无异于ddos攻击,不加以限制访问速度,网站后台很快就会顶不顺了。但是爬虫就是要高效率的获取网站信息,所以两者会有个相悖的地方。
检查http://网站域名/robots.txt 。这个文件规范了该网站允许爬取的内容和不允许爬取的内容。
例如豆瓣网站:
User-agent: *
Disallow: /subject_search
Disallow: /amazon_search
Disallow: /search
Disallow: /group/search
Disallow: /event/search
Disallow: /celebrities/search
Disallow: /location/drama/search
Disallow: /forum/
Disallow: /new_subject
Disallow: /service/iframe
Disallow: /j/
Disallow: /link2/
Disallow: /recommend/
Disallow: /doubanapp/card
Disallow: /update/topic/
Disallow: /share/
Allow: /ads.txt
Sitemap: https://www.douban.com/sitemap_index.xml
Sitemap: https://www.douban.com/sitemap_updated_index.xml
# Crawl-delay: 5
User-agent: Wandoujia Spider
Disallow: /
User-agent: Mediapartners-Google
Disallow: /subject_search
Disallow: /amazon_search
Disallow: /search
Disallow: /group/search
Disallow: /event/search
Disallow: /celebrities/search
Disallow: /location/drama/search
Disallow: /j/
问题 1:请求信息永远是一样的,网站很容易就会判断出来这个用户一直在访问,就会触发限制访问或者控制流量等措施?
我们可以在每次请求的时候对请求头的信息进行随机化,比如请求客户端信息User-Agent,访问源origin.
问题 2:网站请求的接口是什么?
一种是静态网站,模仿用户浏览网站,爬取HTML内容,对HTML格式的文件进行格式化分析;
另外一种是动态页面,页面异步读取内容并显示加载,我们可以模仿页面的异步读取来访问接口api,我觉得这样是最好实现的,我们可以使用谷歌浏览器的调试模式,来分析页面会访问的接口,也可以去看一些网络资料,大神总结好的接口。缺点就是,接口会发生变化,需要爬虫程序也随之更新。
问题 3:我们到底要获取什么内容?
根据自己实际的目标来确定想获取什么内容。我的目标已经写在上面了。
Step 1:
爬取内容
Step 2:
清洗数据、脱敏处理
Step 3:
构建数据集,训练测试
Step 4:
构建显示层
Step 5:
数据分析
每天进步一点点!
©版权声明
文章版权归作者所有,未经允许请勿转载。