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

站长之家 wordpress 流量统计建站超市代理

站长之家 wordpress 流量统计,建站超市代理,陈田拆车件网上商城,不想花钱怎么做网站文章目录前言一、需求二、分析三、处理四、运行结果前言 本系列文章来源于真实的需求本系列文章你来提我来做本系列文章仅供学习参考阅读人群:有Python基础、Scrapy框架基础 一、需求 全站爬取游戏卡牌信息 二、分析 查看网页源代码,图片资源是否存在…

在这里插入图片描述

文章目录

  • 前言
  • 一、需求
  • 二、分析
  • 三、处理
  • 四、运行结果

前言

  1. 本系列文章来源于真实的需求
  2. 本系列文章你来提我来做
  3. 本系列文章仅供学习参考
  4. 阅读人群:有Python基础、Scrapy框架基础

一、需求

  • 全站爬取游戏卡牌信息

在这里插入图片描述

二、分析

  • 查看网页源代码,图片资源是否存在

在这里插入图片描述

  • 网页源码中,定位下一页url路径

在这里插入图片描述

整体思路
1、通过Scrapy框架(中间件随机UA、代理)
2、通过Xpath构造单页爬取
3、通过Xpath定位下一页实现翻页功能

三、处理

初始化Scrapy框架

  1. Pycharm创建项目
  2. 安装Scrapy第三方库 pip install scrapy==2.5.1
  3. 创建项目 scrapy startproject card
  4. 进入card目录 cd card
  5. 创建爬虫 scrapy genspider get_card shadowverse-portal.com
  6. 修改start_urls
    在这里插入图片描述

编写get_card 文件
1、获取标题和图片url
2、翻页功能

    def parse(self, response):# 获取标题和图片urldisplay = response.xpath("//div[@id='displayVisual']")for d in display:img_url = d.xpath("//img[@class='el-card-visual-image js-card-image lazyload']/@data-src").extract()title = d.xpath("//img[@class='el-card-visual-image js-card-image lazyload']/@alt").extract()img_url_dict = dict(zip(title, img_url))for name, url in img_url_dict.items():yield {"url":url}# 翻页功能page = response.xpath("//div[@class='cards-footer']")for p in page:page_url = p.xpath("//span[@class='bl-pagination-item is-next']/a/@href").extract_first()# print(page_url)yield scrapy.Request(url=f"https://shadowverse-portal.com{page_url}",method="get",callback=self.parse)

通过管道保存资源,这里自定义方法通过ImagePIPline管道进行保存
1、安装模块 pip install pillow
2、settings配置管道、中间件
3、管道自定义图片下载方法
4、通过中间件实现UA随机

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

# 管道文件 pipelines.py
import scrapy
from scrapy.pipelines.images import ImagesPipelineclass MyTuPipeline(ImagesPipeline):# 1. 发送请求def get_media_requests(self, item, info):url = item['url']yield scrapy.Request(url=url, meta={"url": url})  # 直接返回一个请求对象即可# 2. 图片的存储路径def file_path(self, request, response=None, info=None, *, item=None):# 可以准备文件夹img_path = "card/"# 剔除file_path = item['url'].split("?")[0]file_name = file_path.split("/")[-1]  # 用item拿到urlprint("item:", file_name)real_path = img_path + "/" + file_name  # 文件夹路径拼接return real_path  # 返回文件存储路径即可# 3. 可能需要对item进行更新def item_completed(self, results, item, info):for r in results:print(r[1]['path'])return item  # 一定要return item 把数据传递给下一个管道
# setting.py文件
# UA随机
USER_AGENT_LIST = ['Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36','Mozilla/5.0 (X11; Ubuntu; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2919.83 Safari/537.36','Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2866.71 Safari/537.36','Mozilla/5.0 (X11; Ubuntu; Linux i686 on x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2820.59 Safari/537.36','Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2762.73 Safari/537.36','Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2656.18 Safari/537.36','Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML like Gecko) Chrome/44.0.2403.155 Safari/537.36','Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36','Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2227.1 Safari/537.36','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2227.0 Safari/537.36','Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2227.0 Safari/537.36','Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2226.0 Safari/537.36','Mozilla/5.0 (Windows NT 6.4; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2225.0 Safari/537.36','Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2225.0 Safari/537.36','Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2224.3 Safari/537.36','Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.93 Safari/537.36','Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.124 Safari/537.36','Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2049.0 Safari/537.36','Mozilla/5.0 (Windows NT 4.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2049.0 Safari/537.36',
]
# 中间件 middlewares.py
import random
from .settings import USER_AGENT_LIST.....def process_request(self, request, spider):ua = random.choice(USER_AGENT_LIST)request.headers["User-Agent"] = ua
.....

在这里插入图片描述

四、运行结果

在这里插入图片描述

源码下载方式:
知识星球Python 网络爬虫模块
我正在「Print(“Hello Python”)」和朋友们讨论有趣的话题,你⼀起来吧?
https://t.zsxq.com/086uG3kOn

请添加图片描述

http://www.yayakq.cn/news/632992/

相关文章:

  • 权威的建筑工程网站东莞做网站网络公司
  • wordpress网站模板搜网站内容
  • 设备网站建设电子网站建设心得
  • 东莞横沥网站制作263企业邮箱的作用
  • 人力资源招聘网站建设方案网站建设方案策划
  • 东莞常平有高铁站吗东莞住房与城乡建设官网
  • 萧县城乡建设局网站网站ftp上传到空间
  • 广东网站制作设计手机助手app下载
  • dedecms网站后台很卡移动端快速建站的方法
  • 深圳营销型网站设计公司上海企业网站seo多少钱
  • 江苏省高职重点专业群建设网站最好免费观看高清视频韩国
  • 网站的设计成都装修公司前十口碑推荐
  • 网站标题更新鸟人 网站建设
  • 菠菜建设网站商丘网站制作电话
  • 给小学生做家教的网站阿里巴巴注册网站首页
  • 长春网站建设找源晟南阳谁会做网站
  • 芜湖网站建设兼职仲恺企业网站建设
  • 建设银行官方网站公司建立网站专业公司
  • 如何做百度网站请简述网站建设的一般流程图
  • 网站建网站建设和优301跳转wordpress
  • 企业可以做网站的类型茶文化网站建设规划书范文
  • saas建站北京网站建设哪家比较好
  • wordpress搭建个人博客木卢seo教程
  • 网站被挂马无法访问国内设计师个人网站
  • 机关网站制度建设湖南网站模板建站
  • 网站运营问题有没有网址啊给一个
  • 为什么四川省建设厅网站打不开纯静态网站
  • 网站开发费属于研发费用吗百度搜索引擎网址格式
  • 设计图网站建设工程合同范本工程施工合同范本
  • 淄博网站制作营销有免费的服务器吗