- 找到pipelines.py里的類名MeituanPipeline
- settings.py文件激活中間件MeituanPipeline
```
ITEM_PIPELINES = {
'meituan.pipelines.MeituanPipeline': 300,
}
```
- cake.py
```
# -*- coding: utf-8 -*-
import scrapy
from ..items import MeituanItem # 引入items的類,數據通過items傳入
class CakeSpider(scrapy.Spider):
name = 'cake'
allowed_domains = ['meituan.com']
start_urls = ['http://i.meituan.com/s/changsha-蛋糕/']
def parse(self, response):
mt = MeituanItem() # 實例化
title_list = response.xpath('//*[@id="deals"]/dl/dd/dl/dd[1]/a/span[1]/text()').extract()
money_list = response.xpath('//*[@id="deals"]/dl/dd[1]/dl/dd[2]/dl/dd[1]/a/div/div[2]/div[2]/span[1]/text()').extract()
for i,j in zip(title_list,money_list):
# print(i+"-------------"+j)
mt['title'] = i # 把數據丟給管道items, mt['title']等同于 items中的title = scrapy.Field()
mt['money'] = j
yield mt
```
- items.py
```
# -*- coding: utf-8 -*-
# Define here the models for your scraped items
#
# See documentation in:
# https://doc.scrapy.org/en/latest/topics/items.html
import scrapy
class MeituanItem(scrapy.Item):
# define the fields for your item here like:
# name = scrapy.Field()
title = scrapy.Field()
money = scrapy.Field()
# pass
```
- 在pipelines.py里打印測試
```
# -*- coding: utf-8 -*-
# Define your item pipelines here
#
# Don't forget to add your pipeline to the ITEM_PIPELINES setting
# See: https://doc.scrapy.org/en/latest/topics/item-pipeline.html
class MeituanPipeline(object):
def process_item(self, item, spider):
print(spider.name)
return item
```
>scrapy crawl cake
- 工欲善其事必先利其器
- 請求庫
- 解析庫
- 數據庫
- 存儲庫
- Web庫
- app爬取相關庫
- 爬蟲框架
- 部署相關庫
- ipython
- 基礎
- 數學函數
- 隨機函數
- 三角函數
- 字符串內建函數
- 列表方法
- 字典內置方法
- 正則表達式
- os
- 字符串及數字的判斷
- 常用魔術方法
- db
- mongodb
- mysql
- redis
- ORM
- ODM
- mongodb操作方法
- sqlite3
- access
- files
- Excel
- xml文件
- Python環境
- anaconda
- pip常用命令
- virtualenv
- pyenv
- cmder
- 遠程開發
- Jupyter
- crawler
- appium環境搭建
- adb工具
- uiautomator
- 運行Appium+Python Clinet + 夜神模擬器
- DesiredCapabilities參數大全
- requests
- scrapy
- gerapy
- scrapyd
- 請求頭fake_useragent庫
- 數據傳遞過程
- 數據清洗及入庫pipelines.py
- scrapy調用阿布云代理
- 圖片下載
- PyQt5
- pyinstaller
- 攻防
- xss
- xss反射
- Chrome模擬微信瀏覽器
- flask
- 注冊app
- 藍圖Blueprint
- 表單驗證wtforms
- Flask-SQLAlchemy
- 數據處理
- json
- tornado
- settings
- 工具
- fiddler
- ab壓力測試工具
- 高階
- 隊列
- 多線程
- 消息隊列
- 定時任務框架APScheduler
- Django
- 路由分離
- 模型
- admin
- Android
- apk逆向工程