当前位置: 首页 > wzjs >正文

杭州网站模板产品推广

杭州网站模板,产品推广,网站建设业务提成,九江建设局网站一、当当网 1. 保存数据 数据交给pipelines保存 items中的类名: DemoNddwItem class DemoNddwItem(scrapy.Item): 变量名 类名() book DemoNddwItem(src src, name name, price price)导入: from 项目名.items import 类…

一、当当网

1. 保存数据

        数据交给pipelines保存

items中的类名:  DemoNddwItem

class DemoNddwItem(scrapy.Item):

        变量名 = 类名()

            book =  DemoNddwItem(src = src, name = name, price = price)

导入:

        from 项目名.items import 类名

from demo_nddw.items import NddwSpider

2. yield

        return一个返回值

yield book:

        获取一个book,就将book交给pipelines

3. pipelines(管道):

        想使用管道,必须在settings中开启管道:
如何开启——》解除管道的注释即可开启管道

 管道可以有很多个

管道是有优先级的:

        优先级范围:1~1000

        值越小,优先级越高

 pipelines.py

# Define your item pipelines here
#
# Don't forget to add your pipeline to the ITEM_PIPELINES setting
# See: https://docs.scrapy.org/en/latest/topics/item-pipeline.html# useful for handling different item types with a single interface
from itemadapter import ItemAdapterclass DemoNddwPipeline:
#爬虫文件开始前执行的方法def open_spider(self, spider)self.fp('book.json', 'w', encoding='utf-8')# items:yield后面的book对象def process_item(self, item, spider):
# #以下模式不推荐:因为每传进一个对象,就打开一次文件,对文件的操作过于频繁
# #2个方法
# #1)爬虫文件开始前执行的方法
# def open_spider(self,spider)
#     self.fp('book.json','w',encoding = 'utf-8')
# #2)爬虫文件执行完成后执行的方法
# def close_spider(self,spider)
#     self.fp.close()
# # 中间
#     self.fp.write(str(item))#将数据保存到文件中# (1)write方法必须是一个字符串强制转换:fp.write(item)——》fp.write(str(item))# (2)w模式会每一个对象都打开一次文件,后面打开的会覆盖前面打开的,然后关闭:将w模式改为a(追加)模式:解决:‘w’——》‘a’#不推荐的模式# with open('book.json','a',encoding='utf-8') as fp:#     fp.write(str(item))
#中间self.fp.write(str(item))return item
#爬虫文件执行完成后执行的方法
def close_spider(self,spider)self.fp.close()

 不推荐的模式:

# #以下模式不推荐:因为每传进一个对象,就打开一次文件,对文件的操作过于频繁#将数据保存到文件中# (1)write方法必须是一个字符串强制转换:fp.write(item)——》fp.write(str(item))# (2)w模式会每一个对象都打开一次文件,后面打开的会覆盖前面打开的,然后关闭:将w模式改为a(追加)模式:解决:‘w’——》‘a’#不推荐的模式# with open('book.json','a',encoding='utf-8') as fp:#     fp.write(str(item))


2个方法:

# #2个方法
# #1)爬虫文件开始前执行的方法
# def open_spider(self,spider)
#     self.fp('book.json','w',encoding = 'utf-8')
# #2)爬虫文件执行完成后执行的方法
# def close_spider(self,spider)
#     self.fp.close()
# # 中间
#     self.fp.write(str(item))

      复制items中的类名:DemoNddwItem

导入ddw中,

from demo_nddw.items import DemoNddwItem

并在ddw中使用

book = DemoNddwItem(src = src, name = name, price = price)

ddw.py

import scrapy
from demo_nddw.items import DemoNddwItemclass NddwSpider(scrapy.Spider):name = "nddw"allowed_domains = ["category.dangdang.com"]start_urls = ["https://category.dangdang.com/cp01.07.30.00.00.00.html"]def parse(self, response):# pass# src、name、price都有共同的li标签# 所有的selector对象,都可以再次调用xpath方法li_list = response.xpath('//ul[@id = "component_59"]/li')for li in li_list:# .extract()提取数据# 有data-original,src用data-original替代src = li.xpath('.//img/@data-original').extract_first()# 第一张图片和其他图片标签不一样,第一张图片的src是可以使用的   其他图片的地址是data-originalif src:src = srcelse:# 用srcsrc = li.xpath('.//img/@src').extract_first()alt = li.xpath('.//img/@alt').extract_first()price = li.xpath('.//p[@class = "price"]/span[1]/text()').extract_first()print(src, name, price)book = DemoNddwItem(src = src, name = name, price = price)# yield:return一个返回值#获取一个book,就将book交给pipelinesyield book# pipelines(管道):想使用管道,必须在settings中开启管道:如何开启——》解除管道的注释即可开启
# ITEM_PIPELINES = {
#    "demo_nddw.pipelines.DemoNddwPipeline": 300,
# }

items.py

# Define here the models for your scraped items
#
# See documentation in:
# https://docs.scrapy.org/en/latest/topics/items.htmlimport scrapyclass DemoNddwItem(scrapy.Item):# define the fields for your item here like:# name = scrapy.Field()# pass# 图片# src = // ul[ @ id = "component_59"] / li // img / @ srcsrc = scrapy.Field()# 名字# alt = // ul[ @ id = "component_59"] / li // img / @ altname = scrapy.Field()# 价格# price = //ul[@id = "component_59"]/li//p[@class = "price"]/span[1]/text()price = scrapy.Field()

4. scrapy使用步骤

1)在终端中创建项目

        scrapy startproject 项目名

2)切换到项目下的spiders目录

        cd 项目名\项目名\spider

3)在spiders中创建文件

        scrapy genspider 文件名  要爬取的网页

4)运行

        scrapy crawl 文件名


文章转载自:

http://PyMLfKq8.rxcqt.cn
http://3oQJWqp5.rxcqt.cn
http://kYbfH0hZ.rxcqt.cn
http://1QI3fJ8i.rxcqt.cn
http://OfpFPKEC.rxcqt.cn
http://Nwkshlpa.rxcqt.cn
http://Fzl801Ur.rxcqt.cn
http://zOH9oSEm.rxcqt.cn
http://PdLZOdWV.rxcqt.cn
http://jDAKEmEw.rxcqt.cn
http://c3Yef4FW.rxcqt.cn
http://v7yuNcym.rxcqt.cn
http://Ak84m9Np.rxcqt.cn
http://JS0OJIt9.rxcqt.cn
http://nDuLo4Mw.rxcqt.cn
http://XfFD34V1.rxcqt.cn
http://nMoBi0eP.rxcqt.cn
http://N9tuu7Ms.rxcqt.cn
http://tp671ghh.rxcqt.cn
http://IRn4WoXp.rxcqt.cn
http://M1QqN2qq.rxcqt.cn
http://Xnhxr6QF.rxcqt.cn
http://pMmiEzeQ.rxcqt.cn
http://m6R2RXCP.rxcqt.cn
http://KiOxvvSh.rxcqt.cn
http://mWTQkI4S.rxcqt.cn
http://e3AVO100.rxcqt.cn
http://8jThaN8B.rxcqt.cn
http://4UQkF0ku.rxcqt.cn
http://kc42OyaQ.rxcqt.cn
http://www.dtcms.com/wzjs/653594.html

相关文章:

  • 建设网站 费用wordpress4.7.1漏洞
  • 网站建设教程出售用苏州久远网络wordpress4.9部署
  • 自己怎么制作一个网站少儿编程平台
  • 花生壳盒子做网站服务器杭州网站制作培训
  • 产品设计优秀网站泰安网站建设公司排名
  • 好的网站设计特点代理公司注册地址
  • 网站建设违约责任条款wordpress 视频 slider
  • 鞍山高新区网站苏州十大软件公司
  • 网站建设与网页设计专业的更换网站服务商 重新制作了网站
  • 华为手机官方网站登录网站开发设计思想报告
  • 为网站营销好处中和阗盛工程建设有限公司网站
  • 做网站登录页面的论文网站策划案模板
  • 营销单页模板网站wordpress 清缓存
  • 常用小网站河北手机版建站系统哪个好
  • 如何做网站推广资料上海2022进口博览会
  • 和外国人做古玩生意的网站wordpress 注册功能
  • 东莞网站推广WordPress大前端dux
  • 做违法网站的后果华为公司的企业设计
  • 太原制作网站的工作室seo官网优化详细方法
  • 政协 网站建设济南源聚网络公司
  • 茅台酒网站建设方案图书馆网站建设教程
  • 诚信网站认证必需做吗大学校园网站建设
  • 网站优化链接免费黄页营销网站
  • 西部数码网站管理系统广州站西手表
  • 网站发布时间更改海报设计培训
  • 意大利之家设计网站中国域名交易平台
  • 房城乡建设部网站网站建设网络营销平台: 云搜系统
  • 做婚恋交友类网站高端菜单设计制作
  • 内销网站怎么做景观设计收费标准
  • 帮人注册网站_做appwordpress 数据库账号