python3[爬虫实战] 爬虫之scrapy爬取传智播客(我的奋斗我的路)

编程入门 行业动态 更新时间:2024-10-17 23:34:44

python3[<a href=https://www.elefans.com/category/jswz/34/1770264.html style=爬虫实战] 爬虫之scrapy爬取传智播客(我的奋斗我的路)"/>

python3[爬虫实战] 爬虫之scrapy爬取传智播客(我的奋斗我的路)

我的奋斗我的路


这里爬取的是传智播客大型学员征文活动,是一个个屌丝逆袭的成功故事

这次主要爬取的是

下面的文章 包括:
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
# @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']start_urls = ['.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))# yieldf.close()

对scrapy掌握的不是很好,那个items 让我搞了又搞,真的是搞懵逼了,因为新开的一个project,一直导入报错,no moudle named ‘xxx’ 蛋疼ing,这里cookie也没有用,成功爬取过5+左右就爬不动了。

因为有个好朋友也在里面写了一篇文章,想给他刷点赞, 但是感觉现在自己的技能还在一个入门阶段,只会一些简单的爬取,类似到了代理池,cookie,模拟登陆就犯愁了,最近一直没有时间很系统的学习一下,觉着自己最近的生活很乱,996,nngt。还没加班费!

这里爬取的json串很容易解析, 不像上篇微博似的,跟吃药似的。放个链接比对一下:

这里的adddate 为时间戳,转一下就是正常的时间了,titleAid:主要是跳转到详情页里面的拼接的ID:
附上一条详情页的跳转链接:.html?aid=296

是不是很酷,但是!!! 我觉得文章还是要好好看一下,当你心情低落想要放弃的时候,可以看卡上面的鸡汤文章,这些都是他们的亲身经历,没有丝毫的半点夸大, 不像类似简书,知乎上的文章吧,一些段子手靠博取眼球,夸大,夸得没基地。

话说:说到程序员,确实,耿直的多。多多少少都是些有着雄心壮志,壮志凌云,楞得一脸懵逼,面对女生,嘴都没了的,在QQ群飙车厉害的,也有些一些专心技术的,像我吧?可能搞技术也是不大好,总得多多少少自己学一些,活到老学到老,毕竟靠这个吃饭的,

问题: 困扰了自己蛮久的问题
1 对于一些ajax 加载json的数据是使用html标签上的解析还是直接使用json串解析得了。
2 代理IP的实践!!起码自己得依葫芦画瓢的实践一次,虽然我现在暂时不懂代理IP到底是干什么的,
3 cookie池的使用,

多看一些博客大牛的文章,适当的时候要看一下视频,尽管看视频花一些时间,但很多就是从视频里面懂得快,有些博客也是写的一脸茫然,无处问人。

end….

更多推荐

python3[爬虫实战] 爬虫之scrapy爬取传智播客(我的奋斗我的路)

本文发布于:2024-03-14 11:31:14,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1736370.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:爬虫   播客   实战   爬取传智   scrapy

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!