Scrapy爬虫,华为商城商品数据爬虫demo
来自于华为云开发者大会,使用Python爬虫抓取图片和文字实验,应用Scrapy框架进行数据抓取,保存应用了mysql数据库,实验采用的是线上服务器,而这里照抄全是本地进行,如有不同,那肯定是本渣渣瞎改了!
step1.配置环境
1.新建文件夹 huawei
2.命令行配置python虚拟环境
python -m venv ven
3.安装Scrapy框架
win7 64位系统下安装Scrapy框架 “pip install scrapy”,需要先安装相关环境,不然会报错,比如Twisted-,请自行对照python版本安装,本渣渣用的python3.8的所以下载的是Twisted-20.3.0-cp38-cp38-win_amd64.whl,没错,本渣渣是本地安装的方法安装的!
详细安装 win 安装Scrapy框架方法,推荐善用搜索引擎!
step2.创建Scrapy项目
同样的命令行操作
1.需要进入到指定目录,激活虚拟环境
cd huawei
env\Scripts\activate.bat
2.cmd命令行,新建Scrapy项目
scrapy startproject vmall_spider
cd vmall_spider
scrapy genspider -t crawl vmall "vmall.com"
step3.关键源码
1.vmall.py(核心爬取代码)
import scrapy
from scrapy.linkextractors import LinkExtractor
from scrapy.spiders import CrawlSpider, Rule
from vmall_spider.items import VmallSpiderItemclass VamllSpider(CrawlSpider): name = 'vmall' allowed_domains = ['vmall.com'] start_urls = ['https://www.vmall.com/'] rules = ( Rule(LinkExtractor(allow=r'.*/product/.*'), callback='parse_item', follow=True), ) def parse_item(self, response):title=response.xpath("//div[@class='product-meta']/h1/text()").get() image=response.xpath("//a[@id='product-img']/img/@src").get() item=VmallSpiderItem(title=title,image=image,)print("="*30) print(title)print(image) print("="*30) yield item
2.items.py
import scrapyclass VmallSpiderItem(scrapy.Item):title=scrapy.Field()image=scrapy.Field()
3.pipelines.py
数据存储处理
import pymysql
import os
from urllib import requestclass VmallSpiderPipeline: def __init__(self): dbparams={'host':'127.0.0.1', #云数据库弹性公网IP'port':3306, #云数据库端口 'user':'vmall', #云数据库用户'password':'123456', #云数据库RDS密码'database':'vmall', #数据库名称 'charset':'utf8' } self.conn=pymysql.connect(**dbparams) self.cursor=self.conn.cursor() self._sql=Noneself.path=os.path.join(os.path.dirname(os.path.dirname(__file__)),'images') if not os.path.exists(self.path): os.mkdir(self.path) def process_item(self,item,spider): url=item['image'] image_name=url.split('_')[-1] print("--------------------------image_name-----------------------------") print(image_name) print(url) request.urlretrieve(url,os.path.join(self.path,image_name)) self.cursor.execute(self.sql,(item['title'], item['image'])) self.conn.commit() return item
3.settings.py
更改的部分代码
BOT_NAME = 'vmall_spider'SPIDER_MODULES = ['vmall_spider.spiders']
NEWSPIDER_MODULE = 'vmall_spider.spiders'ROBOTSTXT_OBEY = FalseDOWNLOAD_DELAY = 3DEFAULT_REQUEST_HEADERS = {'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'Accept-Language': 'en', 'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.71 Safari/537.36', 'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.64 Safari/537.11', 'User-Agent': 'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.16 (KHTML, like Gecko) Chrome/10.0.648.133 Safari/534.16'
}ITEM_PIPELINES = {'vmall_spider.pipelines.VmallSpiderPipeline': 300,
}
4.新建 start.py 运行调试入口文件
from scrapy import cmdline
cmdline.execute("scrapy crawl vmall".split())
step4.本地数据库配置
工具:phpstudy-面板(小皮面板)
链接工具:Navicat for MySQL
运行
来源:
使用Python爬虫抓取图片和文字实验
https://lab.huaweicloud.com/testdetail.html?testId=468&ticket=ST-1363346-YzykQhBcmiNeURp6pgL0ahIy-sso
关注本渣渣微信公众号:二爷记
后台回复关键字:“华为商城”
获取完整项目
Scrapy爬虫,华为商城商品数据爬虫demo相关推荐
- 2.天猫商品数据爬虫(已模拟登录)
# 天猫商品数据爬虫 ## 使用教程 1. [点击这里下载][1]下载chrome浏览器 2. 查看chrome浏览器的版本号,[点击这里下载][2]对应版本号的chromedriver驱动 3. p ...
- Python爬虫学习教程:天猫商品数据爬虫
天猫商品数据爬虫使用教程 下载chrome浏览器 查看chrome浏览器的版本号,下载对应版本号的chromedriver驱动 pip安装下列包 pip install selenium pip in ...
- 【项目总结】近期爬虫详解(MBA智库百科词条爬虫同花顺财经数据爬虫)
确实鸽了好一阵子了.上学期初心血来潮想要写写博客,写完第一篇博客我才发现写一篇充实的博客是多么费时费力,但是我还是坚持每周一篇博客地写了两个多月,毕竟期初事情也不是很多.直到期中过后我才发现每周余出一 ...
- Python爬虫实战:天猫商品数据爬虫使用教程
本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 下载chrome浏览器 查看chrome浏览器的版本号,下载对应版本号的chro ...
- python爬虫天猫商品数据及分析(3)
目的 获取商品关键词-智能手机的有关评价信息 评价信息(网络类型,机身颜色,套餐类型,存储容量,版本类型,评价内容,评价时间) 为后面的数据分析提供数据源 源码 #!/usr/bin/env pyth ...
- python爬虫天猫商品数据及分析(2)
目的 对之前所获取的数据源进行数据分析操作 数据分析 一:商家地区分布图 通过读取本地数据源,获取其中省份的相关信息,绘制商家地区分布图,以html格式保存在本地, 浏览器打开可随鼠标移动动态显示地区 ...
- python爬虫天猫商品数据及分析(5)
目的 对获取的天猫商品-智能手机评价 进行数据分析 实现 一 评价词云 #!/usr/bin/env python # -*- coding: utf-8 -*-import time import ...
- python爬虫天猫商品数据及分析(4)
目的 数据导入数据库 数据颜色清洗 机身颜色分析 套餐类型分析 实现 一 商品评价信息导入mysql #!/usr/bin/env python # -*- coding: utf-8 -*-impo ...
- 电商平台商品数据爬虫分析(test阶段可对接测试)
1.简单说明 京东,淘宝,天猫,,淘特,拼多多,阿里巴巴,1688,抖音,苏宁,亚马逊中国 ,lazada,速卖通等全球50多个知名平台抓取数据,存储到database 并进行分析 2.抓取的DIC ...
最新文章
- 80% 应聘者不知道的面试加分项
- 时隔5年,再次接触数字图像处理
- windows/ubuntu 文件共享之 Samba 配置
- NYOJ 562 盒子游戏
- 导入myql库的操作方式
- python3字典列表_python3入门(3)---列表、元组、字典、集合详解
- eclipse打开出错 Error: opening registry key 'Software\JavaSoft\Java Runtime Environment'
- 谈CRM产品设计的指导思想
- 【JAVA SE】第四章 变量和方法
- MySQL-01-linux安装MySQL的两种方式及其遇到的问题
- 技能高考多少分上本科计算机,技能高考多少分上一本
- [转] 基于C#的波形显示控件的实现
- 两段检验系统生成的identityHashCode是否重复的代码
- 【mysql】知识点
- echarts中国地图
- ASP + SQL Server聊天室设计实例
- 常州大学移动宽带上网助手——安装包v1.4
- 免费获取对方ip地址PHP源码
- snappy格式解析
- \t\t【团队精神】荣辱与共 交流分享 精诚协作 尊重理解 ——程序员应知