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

优秀设计师的个人网站wordpress多站点可视化

优秀设计师的个人网站,wordpress多站点可视化,妇女之家网站建设方案,模板网站哪家好创建爬虫项目 srcapy startproject scrapy_dangdang进入到spider文件里创建爬虫文件(这里爬取的是青春文学,仙侠玄幻分类) srcapy genspider dang http://category.dangdang.com/cp01.01.07.00.00.00.html获取图片、名字和价格 # 所有的se…
  1. 创建爬虫项目
srcapy startproject scrapy_dangdang
  1. 进入到spider文件里创建爬虫文件(这里爬取的是青春文学,仙侠玄幻分类)
srcapy genspider dang http://category.dangdang.com/cp01.01.07.00.00.00.html
  1. 获取图片、名字和价格
# 所有的seletor的对象,都可以再次调用xpath方法
li_list = response.xpath('//div[@id="search_nature_rg"]//li')for li in li_list:# 获取图片src = li.xpath('.//img/@data-original').extract_first()# 第一张图片和其他图片的标签的属性不一样# 第一张图片的src是可以使用的,其他图片的地址在data-original里if src:src = srcelse:src = li.xpath('.//img/@src').extract_first()# 获取名字name = li.xpath('.//img/@alt').extract_first()# 获取价格price = li.xpath('.//p[@class="price"]/span[1]/text()').extract_first()print(src, name, price)
  1. 在items里定义要下载的数据
import scrapyclass ScrapyDangdang39Item(scrapy.Item):# 要下载的数据都有什么# 图片src = scrapy.Field()# 名字name = scrapy.Field()# 价格price = scrapy.Field()
  1. 在dang.py里导入items
from ..items import ScrapyDangdang39Item
  1. 在parse方法里定义一个对象book,然后把获取到的值传递到pipelines
book = ScrapyDangdang39Item(src=src, name=name, price=price)# 获取一个book就将book传递给pipelines
yield book
  1. 开启管道
    在settings中,把这几行代码取消注释
    在这里插入图片描述
    管道可以有很多个,但是管道是有优先级的,优先级的范围是1到1000 值越小,优先级越高
  2. 下载数据
    打开piplines.py
class ScrapyDangdang39Pipeline:# 方法1# 在爬虫文件执行前执行的一个方法def open_spider(self, spider):self.fp = open('book.json', 'w', encoding='utf-8')def process_item(self, item, spider):# item就是yield后面的book对象# 1.write方法必须要写一个字符串,而不是其他的对象# 2.w模式,每一个对象都会打开一次文件,然后覆盖之前的内容,所以使用a模式with open('book.json', 'a', encoding='utf-8')as fp:fp.write(str(item))return item

但是这种模式不推荐,因为每传递过来一个数据,就要打开一次文件,对文件的操作太过频繁
换一种方法

class ScrapyDangdang39Pipeline:# 在爬虫文件执行前执行的一个方法def open_spider(self, spider):self.fp = open('book.json', 'w', encoding='utf-8')def process_item(self, item, spider):# item就是yield后面的book对象self.fp.write(str(item))return item# 在爬虫文件执行完后执行的一个方法def close_spider(self, spider):self.fp.close()
  1. 运行dang.py文件就可以把数据保存到本地了

完整代码
dang.py

import scrapy
from ..items import ScrapyDangdang39Itemclass DangSpider(scrapy.Spider):name = "dang"allowed_domains = ["category.dangdang.com"]start_urls = ["http://category.dangdang.com/cp01.01.07.00.00.00.html"]def parse(self, response):# 所有的seletor的对象,都可以再次调用xpath方法li_list = response.xpath('//div[@id="search_nature_rg"]//li')for li in li_list:# 获取图片src = li.xpath('.//img/@data-original').extract_first()# 第一张图片和其他图片的标签的属性不一样# 第一张图片的src是可以使用的,其他图片的地址在data-original里if src:src = srcelse:src = li.xpath('.//img/@src').extract_first()# 获取名字name = li.xpath('.//img/@alt').extract_first()# 获取价格price = li.xpath('.//p[@class="price"]/span[1]/text()').extract_first()book = ScrapyDangdang39Item(src=src, name=name, price=price)# 获取一个book就将book传递给pipelinesyield book

items.py

# Define here the models for your scraped items
#
# See documentation in:
# https://docs.scrapy.org/en/latest/topics/items.htmlimport scrapyclass ScrapyDangdang39Item(scrapy.Item):# define the fields for your item here like:# name = scrapy.Field()# 要下载的数据都有什么# 图片src = scrapy.Field()# 名字name = scrapy.Field()# 价格price = scrapy.Field()

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 ItemAdapter# 如果想使用管道,就必须在settings中开启管道
class ScrapyDangdang39Pipeline:# 方法1# 在爬虫文件执行前执行的一个方法def open_spider(self, spider):self.fp = open('book.json', 'w', encoding='utf-8')def process_item(self, item, spider):# item就是yield后面的book对象# 这种模式不推荐# 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()
http://www.yayakq.cn/news/199981/

相关文章:

  • 服装网站项目的设计方案网站开发违约解除合同通知函
  • 比较好的logo设计网站网页设计样图
  • 移动端友好网站公司网站建设任务书
  • 徐州网站建设优化宣传怎么把做的网站放到腾讯云里面
  • 山西网站建设运营公司etw做的网站
  • 福州最好的网站建设网络公司广东省住房建设厅网站
  • 政务网站建设原则关于互联网的网站
  • 免费网站建设策划wordpress 函数重写
  • 长沙网站制作收费明细电信的网做的网站移动网打不开该找电信还是移动
  • 口碑好的句容网站建设关键词自动生成器
  • 杭州知名网站建设wordpress 年份
  • 辽宁网站建设莱芜金点子最新招聘电子版
  • 龙岗网站制作网页设计培训费用
  • 莉莉卡是哪个网站做的免费机械加工网
  • 南宁网站建站公司idc机房运维
  • 公司网站备案需要什么没有服务器如何做网站
  • 做网站前期框架图wordpress登录短信验证码
  • 江苏城乡住房建设厅网站在线p图网页
  • 网站描述案例wordpress商品分类放左边
  • 简单的html网站模板下载模板建站按年收费
  • 宁波网站建设公司比较好关键词优化seo多少钱一年
  • 电商网站规划与设计论文阜阳seo
  • 洛阳专业网站设计开发制作建站公司阿里云网站建设官方自营店
  • 中国建设银行云南省分行官方网站什么网站上可以做国际贸易
  • 在东营怎么建网站wordpress页面模板下载地址
  • 建设网站需要什么基础知识长沙全网覆盖的网络推广
  • 做网站怎么对接国际收款商户aso优化方法
  • 深圳深圳龙岗网站建设寻找做网站的公司
  • 烟台优化网站公司哪家好创新的盐城网站开发
  • 站长音效wordpress字体调整