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

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

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

网站建设
​

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


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

网站建设.png

是的,就是 itcast,看上面代码,它是 ItcastSpider 类的 name 属性,也就是使用 scrapy genspider命令的唯一爬虫名。

运行之后,如果打印的日志出现 [scrapy] INFO: Spider closed (finished),代表执行完成。 之后当前文件夹中就出现了一个 teacher.html 文件,里面就是我们刚刚要爬取的网页的全部源代码信息。

注意: Python2.x默认编码环境是ASCII,当和取回的数据编码格式不一致时,可能会造成乱码;我们可以指定保存内容的编码格式,一般情况下,我们可以在代码最上方添加

import sys
reload(sys)sys.setdefaultencoding("utf-8")

这三行代码是 Python2.x 里解决中文编码的万能钥匙,经过这么多年的吐槽后 Python3 学乖了,默认编码是Unicode了...(祝大家早日拥抱Python3)

2. 取数据

爬取整个网页完毕,接下来的就是的取过程了,首先观察页面源码:

<div class="li_txt">
    <h3>  xxx  </h3>
    <h4> xxxxx </h4>
    <p> xxxxxxxx </p>

是不是一目了然?直接上 XPath 开始提取数据吧。

xpath 方法,我们只需要输入的 xpath 规则就可以定位到相应 html 标签节点,详细内容可以查看 xpath 教程。

不会 xpath 语法没关系,Chrome 给我们提供了一键获取 xpath 地址的方法(右键->检查->copy->copy xpath),如下图:

里给出一些 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 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]


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


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

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


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

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