来自于华为云开发者大会,使用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相关推荐

  1. 2.天猫商品数据爬虫(已模拟登录)

    # 天猫商品数据爬虫 ## 使用教程 1. [点击这里下载][1]下载chrome浏览器 2. 查看chrome浏览器的版本号,[点击这里下载][2]对应版本号的chromedriver驱动 3. p ...

  2. Python爬虫学习教程:天猫商品数据爬虫

    天猫商品数据爬虫使用教程 下载chrome浏览器 查看chrome浏览器的版本号,下载对应版本号的chromedriver驱动 pip安装下列包 pip install selenium pip in ...

  3. 【项目总结】近期爬虫详解(MBA智库百科词条爬虫同花顺财经数据爬虫)

    确实鸽了好一阵子了.上学期初心血来潮想要写写博客,写完第一篇博客我才发现写一篇充实的博客是多么费时费力,但是我还是坚持每周一篇博客地写了两个多月,毕竟期初事情也不是很多.直到期中过后我才发现每周余出一 ...

  4. Python爬虫实战:天猫商品数据爬虫使用教程

    本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 下载chrome浏览器 查看chrome浏览器的版本号,下载对应版本号的chro ...

  5. python爬虫天猫商品数据及分析(3)

    目的 获取商品关键词-智能手机的有关评价信息 评价信息(网络类型,机身颜色,套餐类型,存储容量,版本类型,评价内容,评价时间) 为后面的数据分析提供数据源 源码 #!/usr/bin/env pyth ...

  6. python爬虫天猫商品数据及分析(2)

    目的 对之前所获取的数据源进行数据分析操作 数据分析 一:商家地区分布图 通过读取本地数据源,获取其中省份的相关信息,绘制商家地区分布图,以html格式保存在本地, 浏览器打开可随鼠标移动动态显示地区 ...

  7. python爬虫天猫商品数据及分析(5)

    目的 对获取的天猫商品-智能手机评价 进行数据分析 实现 一 评价词云 #!/usr/bin/env python # -*- coding: utf-8 -*-import time import ...

  8. python爬虫天猫商品数据及分析(4)

    目的 数据导入数据库 数据颜色清洗 机身颜色分析 套餐类型分析 实现 一 商品评价信息导入mysql #!/usr/bin/env python # -*- coding: utf-8 -*-impo ...

  9. 电商平台商品数据爬虫分析(test阶段可对接测试)

    1.简单说明 京东,淘宝,天猫,,淘特,拼多多,阿里巴巴,1688,抖音,苏宁,亚马逊中国 ,lazada,速卖通等全球50多个知名平台抓取数据,存储到database 并进行分析 2.抓取的DIC ...

最新文章

  1. JVM---运行时数据区概述
  2. AngularJS转换请求内容
  3. 【读薄Effective Java】创建和销毁对象
  4. 理解oracle的共享连接和专用连接
  5. 【ArcGIS微课1000例】0003:按属性选择(Select by Attributes)
  6. javaJavaScript DOM
  7. smtp服务器发送邮件的工作原理,SMTP协议工作原理及服务.doc
  8. ppt编辑数据链接文件不可用_拷过来的ppt不能编辑 - 卡饭网
  9. 李华《灵武二孝赞并序》中之“灵武”系指何地?
  10. android 设置gps波特率,GPS端口、波特率设置原理详解(GPS如何搜星,波特率对传输速度和精度的影响)...
  11. Android USB串口摄像头实现拍照与识别二维码
  12. 3.9 拆解小红书爆文,流量密码原来是这些【玩赚小红书】
  13. 计算机应用说课稿,中职计算机说课稿
  14. Java多重分支实现正负数判断
  15. 教学管理系统-实验四 顺序图
  16. 安卓六大布局之 线性布局(LinearLayout)
  17. 2018年华为精英挑战赛初赛放置算法Java实现
  18. LuLu UI - 腾讯阅文集团出品的“半封装” 开源 Web UI 组件库,特点是面向设计、简单灵活、支持 Vue
  19. linux操作系统理解-IPC
  20. Kafka 批量消费

热门文章

  1. 原生JavaScript抒写——贪吃蛇小游戏
  2. 甲天下山水桂林超级稻 国稻种芯·中国水稻节:广西再说丰年
  3. 串联谐振和并联谐振有什么区别?分别有什么特点?
  4. 转 使用Java实现登陆WebQQ(带源码)
  5. Android技术篇!BAT等大厂必问技术面试题,吊打面试官系列!
  6. 小程序中使用阿里云oss上传视频怎么获得视频截图?
  7. python bim_BIM-轨道交通解决方案
  8. 【BZOJ4031】【Luogu P4111】[HEOI2015]小Z的房间
  9. 数据科学软件哪家强?秘密都在招聘广告里
  10. Kernel K-means1