收藏此站 联系我们 网站
当前位置:首页» 技术日志 » 【建站服务】建湖网站建设_企业网站制作公司_高端网站设计开发-建湖上往-域名申请

【建站服务】建湖网站建设_企业网站制作公司_高端网站设计开发-建湖上往-域名申请

作者: 风兰 . 阅读量: 9 . 发表时间:2022-09-21 04:05:02

网站建设
​

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


建湖网站建设_企业网站制作公司_高端网站设计开发-建湖上往

网站建设.png

这里给出一些 XPath 表达式的例子及对应的含义:

  • /html/head/title: 选择HTML文档中 <head> 标签内的 <title> 元素

  • /html/head/title/text(): 选择上面提到的 <title> 元素的文字

  • //td: 选择所有的 <td> 元素

  • //div[@class="mine"]: 选择所有具有 class="mine" 属性的 div 元素

举例我们读取网站 http://www.itcast.cn/ 的网站标题,修改 itcast.py 文件代码如下::

# -*- coding: utf-8 -*-import scrapy# 以下三行是在 Python2.x版本中解决乱码问题,Python3.x 版本的可以去掉import sys
reload(sys)sys.setdefaultencoding("utf-8")class Opp2Spider(scrapy.Spider):
    name = 'itcast'
    allowed_domains = ['itcast.com']
    start_urls = ['http://www.itcast.cn/']

    def parse(self, response):
        # 获取网站标题
        context = response.xpath('/html/head/title/text()')   
       
        # 提取网站标题
        title = context.extract_first()  
        print(title) 
        pass

执行以下命令:

$ scrapy crawl itcast......传智播客官网-好口碑IT培训机构,一样的教育,不一样的品质......

我们之前在 mySpider/items.py 里定义了一个 ItcastItem 类。 这里引入进来:

from mySpider.items import ItcastItem

然后将我们得到的数据封装到一个 ItcastItem 对象中,可以保存每个老师的属性:

from mySpider.items import ItcastItemdef parse(self, response):
    #open("teacher.html","wb").write(response.body).close()

    # 存放老师信息的集合
    items = []


然后将我们得到的数据封装到一个 ItcastItem 对象中,可以保存每个老师的属性:


from mySpider.items import ItcastItem


def parse(self, response):

    #open("teacher.html","wb").write(response.body).close()


    # 存放老师信息的集合

    items = []


    for each in response.xpath("//div[@class='li_txt']"):

        # 将我们得到的数据封装到一个 `ItcastItem` 对象

        item = ItcastItem()

        #extract()方法返回的都是unicode字符串

        name = each.xpath("h3/text()").extract()

        title = each.xpath("h4/text()").extract()

        info = each.xpath("p/text()").extract()


        #xpath返回的是包含一个元素的列表

        item['name'] = name[0]

        item['title'] = title[0]

        item['info'] = info[0]


        items.append(item)


    # 直接返回最后数据

    return items

我们暂时先不处理管道,后面会详细介绍。


保存数据

scrapy保存信息的最简单的方法主要有四种,-o 输出指定格式的文件,命令如下:


scrapy crawl itcast -o teachers.json

json lines格式,默认为Unicode编码


scrapy crawl itcast -o teachers.jsonl

csv 逗号表达式,可用Excel打开


scrapy crawl itcast -o teachers.csv

xml格式


scrapy crawl itcast -o teachers.xml

思考

如果将代码改成下面形式,结果完全一样。


请思考 yield 在这里的作用(Python yield 使用浅析):


# -*- coding: utf-8 -*-

import scrapy


建湖网站建设_企业网站制作公司_高端网站设计开发-建湖上往


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

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


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

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