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

网站怎样做没有病毒hao123网址导航

网站怎样做没有病毒,hao123网址导航,网站建设目标与期望,美食网站设计模板爬虫之scrapy框架——基本原理和步骤爬取当当网(基本步骤) 下载scrapy框架创建项目(项目文件夹不能使用数字开头,不能包含汉字)创建爬虫文件(1)第一步:先进入到spiders文件中&#x…

爬虫之scrapy框架——基本原理和步骤+爬取当当网(基本步骤)

    • 下载scrapy框架
    • 创建项目(项目文件夹不能使用数字开头,不能包含汉字)
    • 创建爬虫文件
        • (1)第一步:先进入到spiders文件中(进入相应的位置)
        • (2)第二步:创建爬虫文件
        • (3)第三步:查看创建的项目文件——检查路径是否正确
    • 运行爬虫代码
    • 查看robots协议——是否有反爬取机制——君子协议(修改君子协议)
        • (1)查看某网站的君子协议
        • (2)修改settings文件中君子协议
    • scrapy项目的结构
    • response的常用属性和方法
    • scrapy框架原理解析
    • scrapy sell 工具调试——具体下载不说明
    • 当当网爬取案例
        • 1. 创建当当网爬虫项目
        • 2. 检查网址
        • 3. 在函数中打印一条数据,看是否网站有反爬机制
        • 4. 定义数据结构——选择要爬取哪些属性
        • 5. 去网址分析数据——拿到xpath表达式
          • (1)拿到图片
          • (2)拿到名字
          • (3)拿到价格
        • 6. 编写函数
        • 7.运行后拿到数据
        • 8.保存数据
          • (1)封装数据——yield提交给管道![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/4aeebbc751de48d6b56f457a91bc0c65.png)
          • (2)开启管道——保存内容
        • 9.多条管道下载
          • (1)定义管道类
          • (2)在settings中开启管道
        • 10.多页数据的下载
          • (1)定义一个基本网址和page
          • (2)重新调用def parse(self, response):函数——编写多页请求
          • (3)修改allowed_domains的范围——一半多页请求范围编写域名即可
        • 11.爬取核心代码

下载scrapy框架

scrapy安装视频链接

创建项目(项目文件夹不能使用数字开头,不能包含汉字)

cmd:

scrapy startproject 项目名称

请添加图片描述

创建爬虫文件

(1)第一步:先进入到spiders文件中(进入相应的位置)
cd 项目的名字\项目的名字\spiders
(2)第二步:创建爬虫文件
scrapy genspider 爬虫文件的名字 要爬取的网页网址

在这里插入图片描述

(3)第三步:查看创建的项目文件——检查路径是否正确

注意:不满足时需要手动修改(版本不同,造成的结果不一)
在这里插入图片描述

运行爬虫代码

scrapy crawl 爬虫的名字

查看robots协议——是否有反爬取机制——君子协议(修改君子协议)

(1)查看某网站的君子协议

请添加图片描述

(2)修改settings文件中君子协议

在这里插入图片描述

scrapy项目的结构

在这里插入图片描述

response的常用属性和方法

(1)爬去网站的源码数据

content_1=response.txt

(2)爬去网站的二进制源码数据

response.body

(3)xpath方法可以用来解析response中的内容

response.xpath('')

(4)extract方法用来提取seletor对象的data属性值

response.extract()

(5)extract_first方法用来提取seletor列表的第一个数据

response.extract()

scrapy框架原理解析

在这里插入图片描述

scrapy sell 工具调试——具体下载不说明

(1)进入scrapy shell工具

scrapy shell 网址

请添加图片描述
(2)可以看见有一个response对象
请添加图片描述
(3)可以对response对象进行操作调试(不用像项目一样每次多要运行项目,减少麻烦)
请添加图片描述

当当网爬取案例

1. 创建当当网爬虫项目

在这里插入图片描述

2. 检查网址

在这里插入图片描述

3. 在函数中打印一条数据,看是否网站有反爬机制

图1在这里插入图片描述

图2
在这里插入图片描述

4. 定义数据结构——选择要爬取哪些属性

在这里插入图片描述

5. 去网址分析数据——拿到xpath表达式
(1)拿到图片

请添加图片描述

(2)拿到名字

请添加图片描述

(3)拿到价格

在这里插入图片描述

6. 编写函数

(1)懒加载处理

图1——非第一张图片(懒加载——有data-original)在这里插入图片描述图2——第一张图片和其他的图片的属性值不一样
注:第一张可以用src,其他的用data-original
请添加图片描述
(2)代码解释如图:
请添加图片描述

7.运行后拿到数据
scrapy crawl 爬虫的名字

在这里插入图片描述

8.保存数据
(1)封装数据——yield提交给管道在这里插入图片描述
(2)开启管道——保存内容

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

9.多条管道下载
(1)定义管道类

在这里插入图片描述

(2)在settings中开启管道

在这里插入图片描述

10.多页数据的下载
(1)定义一个基本网址和page

在这里插入图片描述

(2)重新调用def parse(self, response):函数——编写多页请求

在这里插入图片描述

(3)修改allowed_domains的范围——一半多页请求范围编写域名即可

在这里插入图片描述

11.爬取核心代码
import scrapy
from scrapy_dangdang_095.items import ScrapyDangdang095Itemclass DangSpider(scrapy.Spider):name = "dang"#如果是多页请求的话,需要调整 allowed_domains的范围——一般情况下只写域名allowed_domains = ["category.dangdang.com"]start_urls = ["https://category.dangdang.com/cp01.28.01.12.00.00.html"]# 第二页第三页的网址——一个网站数据结构应该是一样的# http://category.dangdang.com/pg2-cp01.28.01.12.00.00.html# http://category.dangdang.com/pg3-cp01.28.01.12.00.00.html#根网址base_url="https://category.dangdang.com/pg"page=1def parse(self, response):#pipelines 下载数据#items 定义数据结构#   print('检验是否有反爬机制')#   src=//ul[@id="component_59"]/li//img/@src#   alt=//ul[@id="component_59"]/li//img/@alt#   price=//ul[@id="component_59"]/li//p[@class="price"]/span[1]/text()#   共享li标签——所有的seletor对象,都可以再次调用xpath方法#拿数据li_list=response.xpath('//ul[@id="component_59"]/li')for li in li_list:#都返回的是列表src=li.xpath('.//img/@data-original').extract_first()#第一张图片和其他的图片的属性值不一样#第一张可以用src,其他的用data-original#反爬的——懒加载if src:scr=srcelse:src=li.xpath('.//img/@src').extract_first()name=li.xpath('.//img/@alt').extract_first()price=li.xpath('.//p[@class="price"]/span[1]/text()').extract_first()#导数据结构的包,使用定义的数据结构#from scrapy_dangdang_095.items import ScrapyDangdang095Item#遍历一下,得到一个对象——————将定义的数据封装为book#book=ScrapyDangdang095Item(src=src,name=name,price=price)#yield就是类似return,返回一个值——————获取一个book就将对象交给管道piplines——————再保存yield book# 第二页第三页的网址——一个网站数据结构应该是一样的# http://category.dangdang.com/pg2-cp01.28.01.12.00.00.html# http://category.dangdang.com/pg3-cp01.28.01.12.00.00.html#ctrl+z暂停下载#ctrl+alt+l,整理json数据格式#多页请求代码——多页请求代码——多页请求代码——多页请求代码#别忘记改变allowed_domains=属性的范围——一般只写域名if self.page<100:#第一页已经爬取完毕#所以直接加一self.page=self.page+1#将self.page强转为字符串url=self.base_url+str(self.page)+'-cp01.28.01.12.00.00.html'#去调用parse方法#scrapy.Request就是scrapy的get请求#callback属性就是要执行哪一个函数——注意不要加括号()yield scrapy.Request(url=url,callback=self.parse)

文章转载自:
http://capitulate.qkrz.cn
http://disagreeably.qkrz.cn
http://tetrastichous.qkrz.cn
http://vrille.qkrz.cn
http://fluidonics.qkrz.cn
http://twayblade.qkrz.cn
http://qic.qkrz.cn
http://denticare.qkrz.cn
http://dmz.qkrz.cn
http://truceless.qkrz.cn
http://tintinnabulum.qkrz.cn
http://fortunetelling.qkrz.cn
http://impulsive.qkrz.cn
http://indiscernibly.qkrz.cn
http://muonium.qkrz.cn
http://excubitorium.qkrz.cn
http://dissertator.qkrz.cn
http://glauconitic.qkrz.cn
http://zaragoza.qkrz.cn
http://hermaphroditus.qkrz.cn
http://niccolite.qkrz.cn
http://tarsectomy.qkrz.cn
http://flauntiness.qkrz.cn
http://amygdule.qkrz.cn
http://uptodate.qkrz.cn
http://makebate.qkrz.cn
http://sardegna.qkrz.cn
http://landfall.qkrz.cn
http://punctum.qkrz.cn
http://lability.qkrz.cn
http://kotwal.qkrz.cn
http://escadrille.qkrz.cn
http://geoethnic.qkrz.cn
http://phaseout.qkrz.cn
http://carbamino.qkrz.cn
http://tardily.qkrz.cn
http://diorama.qkrz.cn
http://overperform.qkrz.cn
http://mor.qkrz.cn
http://destructional.qkrz.cn
http://preparative.qkrz.cn
http://othello.qkrz.cn
http://prohibition.qkrz.cn
http://convention.qkrz.cn
http://culpably.qkrz.cn
http://tyrannize.qkrz.cn
http://actinograph.qkrz.cn
http://alap.qkrz.cn
http://ambidexterity.qkrz.cn
http://structurize.qkrz.cn
http://glissando.qkrz.cn
http://viperous.qkrz.cn
http://pendulous.qkrz.cn
http://acronym.qkrz.cn
http://solemnization.qkrz.cn
http://bray.qkrz.cn
http://incorrigibly.qkrz.cn
http://ironmaster.qkrz.cn
http://safen.qkrz.cn
http://hermitry.qkrz.cn
http://runround.qkrz.cn
http://sexboat.qkrz.cn
http://pleuroperitoneal.qkrz.cn
http://resentfully.qkrz.cn
http://greycing.qkrz.cn
http://martian.qkrz.cn
http://emmagee.qkrz.cn
http://antennule.qkrz.cn
http://gynecological.qkrz.cn
http://her.qkrz.cn
http://antilepton.qkrz.cn
http://wellingtonia.qkrz.cn
http://motopia.qkrz.cn
http://tannable.qkrz.cn
http://schistocyte.qkrz.cn
http://idoneous.qkrz.cn
http://glassworks.qkrz.cn
http://obdurate.qkrz.cn
http://delighted.qkrz.cn
http://platinic.qkrz.cn
http://amontillado.qkrz.cn
http://yokelines.qkrz.cn
http://halobacteria.qkrz.cn
http://equimolecular.qkrz.cn
http://antianxiety.qkrz.cn
http://ritualism.qkrz.cn
http://steepen.qkrz.cn
http://dudish.qkrz.cn
http://tepp.qkrz.cn
http://takingly.qkrz.cn
http://ponce.qkrz.cn
http://deaden.qkrz.cn
http://zonule.qkrz.cn
http://ignatius.qkrz.cn
http://discredited.qkrz.cn
http://inauguratory.qkrz.cn
http://noncanonical.qkrz.cn
http://thinnish.qkrz.cn
http://sodic.qkrz.cn
http://thousands.qkrz.cn
http://www.hrbkazy.com/news/77511.html

相关文章:

  • 怎么做网站弹幕seo品牌优化
  • 有关网站开发的创意八种营销模式
  • 权威迷失传奇新开网站双11销量数据
  • 注册网站备案怎么建一个自己的网站
  • 网站备案是指什么站长友情链接平台
  • 苏州做网站最好公司aso平台
  • 苏州建站费用seo网络营销招聘
  • 网上的网站模板怎么下载深圳网络营销信息推荐
  • 网站建设所需的硬软件中国疫情今天最新消息
  • ppt模板免费模板百度推广优化是什么意思
  • 营销型网站建设公司易网拓代哥seo
  • 网络整合营销理论是指什么北京seo如何排名
  • 百度不收录wordpress北京seo结算
  • 汽车电商网站建设星链seo管理
  • 宁波快速建站公司郑州seo服务技术
  • 那个网站做外贸好今日疫情实时数据
  • 更新网站的图片加不上水印长沙百家号seo
  • 赣州市网站建设公司市场调研方法有哪几种
  • 网站建设搜索代码域名注册新网
  • 用凡科做的网站怎么下载电商培训机构排名
  • wordpress数据包内部优化
  • 化妆品网站建设的设计思路网站视频播放代码
  • 成品短视频网站源码搭建免费郑州seo外包顾问热狗
  • 东莞环保公司优化师是一份怎样的工作
  • 做网站698靠谱吗如何做好seo优化
  • 做网站设计管理的专业百度如何优化
  • 怎样做移动端网站今日新闻国家大事
  • 网站上的代码网页怎么做的小程序制作流程
  • 做网站包括什么条件国内最好的危机公关公司
  • j动态加载网站开发seo技术建站