python3 [爬虫入门实战]爬虫之scrapy爬取传智播客讲师初体验

心得:

学scrapy估计耽误又耽误了,之前是图文教程,看了两三遍,一部一部的踩过来,经过昨晚看了一晚上的黑马程序员的部分scrapy框架的学习,才慢慢懂得,如何用一个scrapy去进行爬取网上的数据,个人建议如果实在是不能体会的,还是稍微看下视频:能理解的好一些

先上爬取截图吧:

爬取内容

爬取存储方式

总的来说, 对于我这脑子学习scrapy过程还是蛮难的,尽管现在只是一个开头,后面的坑还很多。

爬取的内容:姓名,讲师类型,讲师描述
这里写图片描述

根据我们所要爬取的目标,

第一步:在item.py 下写个类,继承scrapy.Item
如下:

import scrapyclass TeacherItem(scrapy.Item):# define the fields for your item here like:# 讲师名字teacherName = scrapy.Field()# 讲师类型(高级..)teacherType = scrapy.Field()# 讲师描述teacherDesc = scrapy.Field()# 讲师头像teacherImg = scrapy.Field()

第二部:写爬虫的类继承scrapy.Spider 主要逻辑都在这。
这里写图片描述

上面的图都在那,可以看一下
贴上代码:

#encoding=utf8
import scrapy
from myterminalproject.items import  TeacherItemclass GuoKeSpider(scrapy.Spider):# 启动爬虫时需要的参数name = "myItcast"# 爬取域范围,allowed_domains = ["itcast.cn"] # 只在这个域名进行爬取# 爬虫第一个url地址start_urls = ['http://www.itcast.cn/channel/teacher.shtml']# start_urls = ['http://www.guokr.com/ask/hottest/?page={}'.format(n) for n in range(1, 8)] + [#     'http://www.guokr.com/ask/highlight/?page={}'.format(m) for m in range(1, 101)]def parse(self, response):print(response.body)node_list = response.xpath("//div[@class='li_txt']")# 用来存储所有的item字段items = []for node in node_list:# 每个for创建一个item ,用来存储信息item = TeacherItem()# .extract()  讲xpath对象转换位 Unicode字符串name = node.xpath("./h3/text()").extract()title = node.xpath("./h4/text()").extract()info = node.xpath("./p/text()").extract()item['teacherName'] = name[0]item['teacherType'] = title[0]item['teacherDesc'] = info[0]items.append(item)return items # 这里返回给引擎了。

这里暂时没有用到下载管道

settings里面的文件也没有进行改动

通过以上,我们就可以进行爬取内容了。

可以试试以下的命令:
这里写图片描述

切换到项目目录下,最后那条命令应该是scrapy crawl myItcast -o icast.json(或者.xml,.cvs)

最后就是可以查看的数据了。
这里写图片描述

现在暂时不会上传到git上,需要源码的或者scrapy框架视频可以联系我。


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部