python3[爬虫实战] 爬虫之scrapy爬取传智播客(我的奋斗我的路)
2017-08-11 00:40
295 查看
我的奋斗我的路
这里爬取的是传智播客大型学员征文活动,是一个个屌丝逆袭的成功故事这次主要爬取的是
http://fendou.itcast.cn/article
下面的文章 包括:
1 目前排行
2 文章名称
3 作者
4 票数
5 支持Ta
6 查看
刚刚看了一下,点赞排行版,到最后的一共是144文章,难怪我搞个for循环60,到14的时候都已经不行了。可能是真的文章数量太少了。这里爬取的网站也是用的一部ajax异步json数据把,对前端了解的也不是很多,只是懂一些这些,不喜欢的勿喷。
scrapy 爬取json数据也是很简单,直接在parse方法中解析一下便好。
贴上代码:
# -*- coding: utf-8 -*- # @Time : 2017/8/10 22:19 # @Author : 蛇崽 # @Email : 17193337679@163.com # @File : BokeFightingMain.py 传智博客主页最新投稿文章 import scrapy import json # from chuanzhibokemyfendou.chuanzhibokemyfendou.items import BokeFighting f = open('传智排行.txt', 'a',encoding='utf-8') class BokeFightingMain(scrapy.Spider): name = 'bokemain' allowed_domains = ['fendou.itcast.cn'] start_urls = ['http://fendou.itcast.cn/Article/newpaihang.html?offset={}'.format(n) for n in range(1,20)] def parse(self, response): root_list = json.loads(response.body_as_unicode()) for info in root_list: # Boke = BokeFighting() Boke = [] print(info) # 挑战到详情页用的aid # Boke['titleAid'] = info['aid'] if 'aid' in info else '' titleAid= info['aid'] if 'aid' in info else '' f.write(str(titleAid)) # 作者 # Boke['nickname'] = info['nickname'] if 'nickname' in info else '' nickname= info['nickname'] if 'nickname' in info else '' # 文章名称 # Boke['title'] = info['title'] if 'title' in info else '' title = info['title'] if 'title' in info else '' # 票数 # Boke['vote'] = info['vote'] if 'vote' in info else '' vote = info['vote'] if 'vote' in info else '' # 发表时间戳 # Boke['adddate'] = info['adddate'] if 'adddate' in info else '' adddate = info['adddate'] if 'adddate' in info else '' # 是否点过赞(暂且这样考虑) # Boke['stau'] = info['stau'] if 'stau' in info else '' stau = info['stau'] if 'stau' in info else '' print('*'*20) print(str(adddate)) # yield f.close()
对scrapy掌握的不是很好,那个items 让我搞了又搞,真的是搞懵逼了,因为新开的一个project,一直导入报错,no moudle named ‘xxx’ 蛋疼ing,这里cookie也没有用,成功爬取过5+左右就爬不动了。
因为有个好朋友也在里面写了一篇文章,想给他刷点赞, 但是感觉现在自己的技能还在一个入门阶段,只会一些简单的爬取,类似到了代理池,cookie,模拟登陆就犯愁了,最近一直没有时间很系统的学习一下,觉着自己最近的生活很乱,996,nngt。还没加班费!
这里爬取的json串很容易解析, 不像上篇微博似的,跟吃药似的。放个链接比对一下:
http://blog.csdn.net/xudailong_blog/article/details/76945566
这里的adddate 为时间戳,转一下就是正常的时间了,titleAid:主要是跳转到详情页里面的拼接的ID:
附上一条详情页的跳转链接:http://fendou.itcast.cn/Article/ajaxlook.html?aid=296
是不是很酷,但是!!! 我觉得文章还是要好好看一下,当你心情低落想要放弃的时候,可以看卡上面的鸡汤文章,这些都是他们的亲身经历,没有丝毫的半点夸大, 不像类似简书,知乎上的文章吧,一些段子手靠博取眼球,夸大,夸得没基地。
话说:说到程序员,确实,耿直的多。多多少少都是些有着雄心壮志,壮志凌云,楞得一脸懵逼,面对女生,嘴都没了的,在QQ群飙车厉害的,也有些一些专心技术的,像我吧?可能搞技术也是不大好,总得多多少少自己学一些,活到老学到老,毕竟靠这个吃饭的,
问题: 困扰了自己蛮久的问题
1 对于一些ajax 加载json的数据是使用html标签上的解析还是直接使用json串解析得了。
2 代理IP的实践!!起码自己得依葫芦画瓢的实践一次,虽然我现在暂时不懂代理IP到底是干什么的,
3 cookie池的使用,
多看一些博客大牛的文章,适当的时候要看一下视频,尽管看视频花一些时间,但很多就是从视频里面懂得快,有些博客也是写的一脸茫然,无处问人。
end….相关文章推荐
- python3 [爬虫入门实战]爬虫之scrapy爬取传智播客讲师初体验
- Python3 大型网络爬虫实战 004 — scrapy 大型静态商城网站爬虫项目编写及数据写入数据库实战 — 实战:爬取淘宝
- Python3 大型网络爬虫实战 — 给 scrapy 爬虫项目设置为防反爬
- Python3[爬虫实战] 爬虫之scrapy爬取爱上程序网存MongoDB(android模块)
- python3 [爬虫入门实战]爬虫之scrapy安装与配置教程
- Python爬虫框架Scrapy实战 - 抓取BOSS直聘招聘信息
- 【Python实战】Scrapy豌豆荚应用市场爬虫
- Python爬虫实战:Scrapy豆瓣电影爬取
- python爬虫框架之scrapy安装与当当网爬虫实战
- python3 [爬虫入门实战]爬虫之scrapy爬取中国医学人才网
- 【实战\聚焦Python分布式爬虫必学框架Scrapy 打造搜索引擎项目笔记】第4章 scrapy爬取知名技术文章网站(1)
- Python3网络爬虫:Scrapy入门实战之爬取动态网页图片
- Python爬虫框架Scrapy实战之批量抓取招聘信息
- python爬虫实战--------搜狗微信文章(IP代理池和用户代理池设定----scrapy)
- python3 [爬虫入门实战]爬虫之scrapy爬取游天下南京短租房存mongodb
- Python爬虫框架Scrapy实战之定向批量获取职位招聘信息
- Python3 大型网络爬虫实战 002 --- scrapy 爬虫项目的创建及爬虫的创建 --- 实例:爬取百度标题和CSDN博客
- python3 [爬虫入门实战]爬虫之scrapy爬取织梦者网站并存mongoDB
- python爬虫由浅入深13--scrapy基础实战·爬取哈理工教务在线公告
- python3 [爬虫入门实战]爬虫之scrapy爬取中华人民共和国民政部