收藏此站 联系我们 网站
当前位置:首页» 行业网站案例 » 【建站服务】专业网站建设-网站设计-网站制作与网站开发-高端品牌企业宣传策划-瓦房店上往建站-域名申请

【建站服务】专业网站建设-网站设计-网站制作与网站开发-高端品牌企业宣传策划-瓦房店上往建站-域名申请

作者: 风兰 . 阅读量: 7 . 发表时间:2022-09-21 04:27:59

网站建设
​

上往建站提供服务器空间服务商,百度快照排名,网站托管,百度推广运营,致力于设计外包服务与源代码定制开发,360推广,搜狗推广,增加网站的能见度及访问量提升网络营销的效果,主营:网站公司,百度推广公司电话,官网搭建服务,网站服务企业排名,服务器空间,英文域名等业务,专业团队服务,效果好。


专业网站建设-网站设计-网站制作与网站开发-高端品牌企业宣传策划-瓦房店上往建站

网站建设.png

  • 义提取的结构化数据(Item)

  • 编写爬取网站的 Spider 并提取出结构化数据(Item)

  • 编写 Item Pipelines 来存储提取到的Item(即结构化数据)

一. 新建项目(scrapy startproject)

在开始爬取之前,必须创建一个新的Scrapy项目。进入自定义的项目目录中,运行下列命令:

scrapy startproject mySpider

其中, mySpider 为项目名称,可以看到将会创建一个 mySpider 文件夹,目录结构大致如下:

下面来简单介绍一下各个主要文件的作用:

mySpider/
    scrapy.cfg
    mySpider/
        __init__.py
        items.py
        pipelines.py
        settings.py
        spiders/
            __init__.py            ...

这些文件分别是:

  • scrapy.cfg: 项目的配置文件。

  • mySpider/: 项目的Python模块,将会从这里引用代码。

  • mySpider/items.py: 项目的目标文件。

  • mySpider/pipelines.py: 项目的管道文件。

  • mySpider/settings.py: 项目的设置文件。

  • mySpider/spiders/: 存储爬虫代码目录。

二、明确目标(mySpider/items.py)

我们打算抓取 http://www.itcast.cn/channel/teacher.shtml 网站里的所有讲师的姓名、职称和个人信息。

  1. 打开 mySpider 目录下的 items.py。

  2. Item 定义结构化数据字段,用来保存爬取到的数据,有点像 Python 中的 dict,但是提供了一些额外的保护减少错误。

  3. 可以通过创建一个 scrapy.Item 类, 并且定义类型为 scrapy.Field 的类属性来定义一个 Item(可以理解成类似于 ORM 的映射关系)。

  4. 接下来,创建一个 ItcastItem 类,和构建 item 模型(model)。

    import scrapyclass ItcastItem(scrapy.Item):
       name = scrapy.Field()
       title = scrapy.Field()
       info = scrapy.Field()

三、制作爬虫 (spiders/itcastSpider.py)

爬虫功能要分两步:

1. 爬数据

在当前目录下输入命令,将在mySpider/spider目录下创建一个名为itca


系)。


接下来,创建一个 ItcastItem 类,和构建 item 模型(model)。


import scrapy


class ItcastItem(scrapy.Item):

   name = scrapy.Field()

   title = scrapy.Field()

   info = scrapy.Field()

三、制作爬虫 (spiders/itcastSpider.py)

爬虫功能要分两步:


1. 爬数据


在当前目录下输入命令,将在mySpider/spider目录下创建一个名为itcast的爬虫,并指定爬取域的范围:


scrapy genspider itcast "itcast.cn"

打开 mySpider/spider目录里的 itcast.py,默认增加了下列代码:


import scrapy


class ItcastSpider(scrapy.Spider):

    name = "itcast"

    allowed_domains = ["itcast.cn"]

    start_urls = (

        'http://www.itcast.cn/',

    )


    def parse(self, response):

        pass

其实也可以由我们自行创建itcast.py并编写上面的代码,只不过使用命令可以免去编写固定代码的麻烦


要建立一个Spider, 你必须用scrapy.Spider类创建一个子类,并确定了三个强制的属性 和 一个方法。


name = "" :这个爬虫的识别名称,必须是唯一的,在不同的爬虫必须定义不同的名字。


allow_domains = [] 是搜索的域名范围,也就是爬虫的约束区域,规定爬虫只爬取这个域名下的网页,不存在的URL会被忽略。


start_urls = () :爬取的URL元祖/列表。爬虫从这里开始抓取数据,所以,第一次下载的数据将会从这些urls开始。其他子URL将会从这些起始URL中继承性生成。


parse(self, response) :解析的方法,每个初始URL完成下载后将被调用,调用的时候传入从每一个URL传回的Response对象来作为唯一参数,主要作用如下:


负责解析返回的网页数据(response.body),提取结构化数据(生成item)

生成需要下一页的URL请求。

将start_urls的值修改为需要爬取的第一个url


start_urls = ("http://www.itcast.cn/channel/teacher.shtml",)

修改parse()方法


def parse(self, response):

    filename = "teacher.html"

    open(filename, 'w').write(response.body)

然后运行一下看看,在mySpider目录下执行:


scrapy crawl itcast

是的,就是 itcast,看上面代码,它是 ItcastSpider 类的 name 属性,



专业网站建设-网站设计-网站制作与网站开发-高端品牌企业宣传策划-瓦房店上往建站


上往建站提供搭建网站,域名注册,官网备案服务,网店详情页设计,企业网店,专业网络店铺管理运营全托管公司咨询电话,服务器空间,微信公众号托管,网页美工排版,致力于域名申请,竞价托管,软文推广,全网营销,提供标准级专业技术保障,了却后顾之忧,主营:虚拟主机,网站推广,百度竞价托管,网站建设,上网建站推广服务,网络公司有哪些等业务,专业团队服务,效果好。

服务热线:400-111-6878 手机微信同号:18118153152(各城市商务人员可上门服务)


关键词:网站建设,企业网站,网站制作,网页设计,高端网站建设,企业网站制作,网页制作,制作网站,网站设计,高端网页设计,高端网站设计,做网站,自适应网站

全国服务热线
18114747181
二维码
手机端二维码
上往建站
地址:全国各地都有驻点商务 |  网站建设:上往建站
在线咨询QQ:1120768800
 
QQ在线咨询
售前咨询热线
18114747181
营销顾问
营销顾问
售后服务热线
400-000-1116
售后服务
售后服务