1.函数
  函数参数:必须 默认 关键 可变
  函数种类:外部 内部 匿名 lambda
  装饰函数:@语法糖
  函数总是要返回的 ,若没有return,None总是被返回
 
2.面向对象:
  对象:已存在,可被使用的实例 万物皆对象
  类:描述其他实例信息的对象
  方法:定义其他实例行为的对象
3.与函数区别:
  函数可以直接调用
  方法需要依赖类对象才能调用
 
@staticmethod 类似函数
@classmethod 类方法
属性:定义其他实例特征的对象
stu=Student()
stu.jump=lambda x: print("你跳了{0}米“.format(x))
stu.jump(1)
 
4.常用模块:
  re(正则) xml time threading socket random pickle (序列化) os sys
  pdk:----python sdk
  第三方: scrapy pandas numpy plot..
  scrapy:爬虫框架 特点:工业化重量级
      xpath:通过path风格的表达式来解析xml HTML
      /html/body[](取属性)//(后代)div ,/当前路径
scrapy框架爬虫基础及案例
爬虫流程图
流程过程:spider(蜘蛛)编写-->引擎(engine)获取请求-->传入调度器(scheduler排序入队)-->请求(request)给引擎-->下载器网上扒取数据-->
将响应(response)给引擎-->蜘蛛-->通过引擎-->将获取的实体类给item,将接下来的URL给调度器-->再次循环以上过程完成数据的扒取
对蜘蛛spider的编写和解析
import  scrapy  #导入scrapy 的模块
class QuotesSpider(scrapy.Spider): #类方法继承scrapy模块的spidername = 'kgc'            #蜘蛛名 (后面需要执行方式之一所需)start_urls=['http://www.kgc.cn/',] #所需要爬虫的资源进口def parse(self, response):  #parse方法定义爬虫的规则datas=response.css('h2.headline-title~ul>li>p>a::text').extract()#应用css样式方法,寻找对应的爬取模块for d in datas:print(d)

在命令窗口terminal中输入运行命令:

scrapy runspider spid文件名

输出结果可以获取相应内容。

对于连接路径内容的获取如下:

import  scrapy  #导入scrapy 的模块
class QuotesSpider(scrapy.Spider): #类方法继承scrapy模块的spidername = 'kgc'            #蜘蛛名 (后面需要执行方式之一所需)start_urls=['http://www.kgc.cn/',] #所需要爬虫的资源进口def parse(self, response):  #parse方法定义爬虫的规则hrefs = response.css('h2.headline-title~ul>li>p>a::attr("href")').extract()#获取的是对应的连接路径for url in hrefs:yield  response.follow(url,self.ta)#使用yield生成器,通过response的follow方法,传参分别为得到的路径和得到内容的方法def ta(self,response):#定义当前对象所需要获取内容的方法titl=response.css('div.essay_top>h6::text').extract_first()#应用css样式获取内容标题author=response.css('div.essay_card.f1>span::text').extract_first()#获取内容的作者yield {                 #生成器每次调用得到内容"title":titl,       #获取的以字典格式输出"author":author}

同样执行spider运行语句:

scrapy runspider spider文件名

如果在运行得到结果的过程中,遇到无法输出或者乱码问题,可通过生成json文件进行运行:

步骤如下:

将spider文件生成json文件,执行语句为:

scrapy runspider spider文件名  -o  文件名.json

然后对其进行解析:

import json            #引入json模块
with open("test.json") as f :#读取文件并重命名fda=json.load(f) #文件重新加载得到dafor s in da:  #循环输出内容print(s)

运行文件即可得到相应内容。后续内容持续更新。

转载于:https://www.cnblogs.com/qianshuixianyu/p/9210448.html

Python基础知识回顾及scrapy框架爬虫基础相关推荐

  1. python的scrapy框架的安装_Python爬虫基础(四)--Scrapy框架的安装及介绍

    Scrapy框架的介绍 安装: pip3 install Scrapy 安装测试: cmd命令行界面,输入:scrapy -h 框架安装完成: scrapy框架: 分为五个模块+两个中间件(5+2结构 ...

  2. Crawler之Scrapy:Python实现scrapy框架爬虫两个网址下载网页内容信息

    Crawler之Scrapy:Python实现scrapy框架爬虫两个网址下载网页内容信息 目录 输出结果 实现代码 输出结果 后期更新-- 实现代码 import scrapy class Dmoz ...

  3. Scrapy框架爬虫案例

    Scrapy框架爬虫案例 1 什么是Scrapy 2 Scrapy架构 3 Scrapy架构图 4 案例 4.1爬取职友集中阿里巴巴招聘岗位 4.2 创建Scrapy项目 4.3 定义Item 4.4 ...

  4. Java基础知识强化之集合框架笔记76:ConcurrentHashMap之 ConcurrentHashMap简介

    1. ConcurrentHashMap简介: ConcurrentHashMap是一个线程安全的Hash Table,它的主要功能是提供了一组和Hashtable功能相同但是线程安全的方法.Conc ...

  5. Python可视化数据分析02、Scrapy框架-强化测试Scrapy-CSS

    Python可视化数据分析02.Scrapy框架

  6. Scrapy框架爬虫—以京东众筹为例

    Scrapy框架爬虫--以京东众筹为例 第一步, 打开命令提示符,创建一个Scrapy框架: 第二步,定位到创建的文件夹: 第三步,在spider文件夹中创建一个.py文件(注:不要关闭命令提示符): ...

  7. 2014计算机基础知识试题及答案,2014计算机基础知识试题及答案解析.doc

    2014计算机基础知识试题及答案解析 计算机基础知识参考试题及答案解析 一.单选题1.1946年诞生的世界上公认的第一台电子计算机是( ).A)UNIVAC-I B)EDVAC C)ENIAC D)I ...

  8. 计算机基础知识整理 世上最全,计算机基础知识整理[世上最全]

    010在线为您甄选多篇描写计算机基础知识整理[世上最全],计算机基础知识整理[世上最全]精选,计算机基础知识整理[世上最全]大全,有议论,叙事 ,想象等形式.文章字数有400字.600字.800字.. ...

  9. 计算机基础知识的看法,关于《计算机应用基础知识》课程教学的看法

    [摘要] <计算机应用基础知识>不仅是教师继续教育培训教材,也是许多计算机专业和非专业学生必学的教材.本文主要分析了中等职业学校<计算机应用基础知识>在教学.培训中存在的一些问 ...

最新文章

  1. css颜色rgba代码对照表_改善 CSS 的 10 个最佳实践
  2. python基础看什么书-python新手看什么书比较好?这五本最靠谱
  3. mtc: manufacturing technology center
  4. [奇葩 bug]视图在 ipad5 上正常显示,在 iPad3上超出了边界
  5. android学习日记13--数据存储之ContentProvide
  6. Chorme控制台console的用法;
  7. laravel无法运行php,Laravel:php artisan服务无法启动
  8. 2021年最值得推荐的七款可视化工具,人人都能学会使用
  9. 当心币圈高仿号!也别指望AI,它有心无力
  10. 关于循环结构 判断月份的两种方法
  11. 解决库仑计初始化卡死问题
  12. 计算机金融sci,FINANCE AND STOCHASTICS《金融与随机分析》SSCI论文投稿_SSCI期刊大全_SSCI期刊点评_万维书刊网...
  13. 谷歌地球看不了街景_PPT放入3D模型之后,居然能模拟谷歌地图!
  14. 基于51单片机及MAX6675的8通道测温系统 protues仿真
  15. Audio Hijack for Mac(音频录制软件)
  16. 龙族——路明非真实身份猜想
  17. USART与UART的区别,单工,半双工和全双工的区别
  18. FM-分解机模型详解
  19. uniapp 微信小程序实现走势图生成图片分享
  20. 华为鸿蒙a股,来了!华为“鸿蒙”,这一次它会给A股带来哪些惊喜

热门文章

  1. Web中间件常见安全漏洞总结
  2. 五个案例“熄灭”Nginx漏洞隐患
  3. 查看HTML请求(request)中的标头(Headers)信息
  4. 查看设置本机共享文件 net share
  5. plpgsql语句的兼容性
  6. IDEA控制台乱码终极解决方案
  7. Oracle数据库中文乱码问题解决
  8. opencv 解决ippicv下载失败问题ippicv_2019_lnx_intel64_general_20180723.tgz离线下载
  9. python使用pip安装第三方库(工具包)速度慢、超时、失败的解决方案
  10. Win10系统怎么看隐藏文件夹