来自于华为云开发者大会,使用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. 80% 应聘者不知道的面试加分项
  2. 时隔5年,再次接触数字图像处理
  3. windows/ubuntu 文件共享之 Samba 配置
  4. NYOJ 562 盒子游戏
  5. 导入myql库的操作方式
  6. python3字典列表_python3入门(3)---列表、元组、字典、集合详解
  7. eclipse打开出错 Error: opening registry key 'Software\JavaSoft\Java Runtime Environment'
  8. 谈CRM产品设计的指导思想
  9. 【JAVA SE】第四章 变量和方法
  10. MySQL-01-linux安装MySQL的两种方式及其遇到的问题
  11. 技能高考多少分上本科计算机,技能高考多少分上一本
  12. [转] 基于C#的波形显示控件的实现
  13. 两段检验系统生成的identityHashCode是否重复的代码
  14. 【mysql】知识点
  15. echarts中国地图
  16. ASP + SQL Server聊天室设计实例
  17. 常州大学移动宽带上网助手——安装包v1.4
  18. 免费获取对方ip地址PHP源码
  19. snappy格式解析
  20. \t\t【团队精神】荣辱与共 交流分享 精诚协作 尊重理解 ——程序员应知

热门文章

  1. 远程计算机怎么连接腾讯云,使用 RDP 文件远程登录腾讯云Windows服务器的步骤
  2. CMDB配置管理的实施步骤
  3. 实用随机森林 - 针对时间序列的 kaggle 技巧
  4. 谷歌AI最新3D数据集,1.5万张动图,让AR主宰你的生活
  5. linux jetty9 内存配置,jetty9部署
  6. Vue事件修饰符的总结
  7. 多线程小猪佩奇吃煎饼
  8. 猿大师播放器在网页中同时播放多路高清RTSP视频流页面卡顿CPU占用比较高怎么办?
  9. PCB厚铜板的设计,这一点一定要注意
  10. 在中国:不是含有奶的饮料都可以称为“奶”,