广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python爬虫基础
  • 692
分享到

python爬虫基础

爬虫基础python 2023-01-30 22:01:47 692人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

Note:一:简单爬虫的基本步骤1.爬虫的前奏: (1)明确目的 (2)找到数据对应的网页 (3)分析网页的结构,找到数据的位置2.爬虫第二步:__fetch_content方法 模拟Http请求,向服务器发送这个

Note:
一:简单爬虫的基本步骤

1.爬虫的前奏:
(1)明确目的
(2)找到数据对应的网页
(3)分析网页的结构,找到数据的位置

2.爬虫第二步:__fetch_content方法
模拟Http请求,向服务器发送这个请求,获取服务器返回给我们的html
正则表达式提取我们要的数据

3.爬虫第三步:__analysis
(1)找到一个定位标签或者是标识符,利用正则表达式找到需要的内容:
它的选择原则是:
唯一原则、就近原则、选择父级闭合标签
(2)再找到的内容中进一步提取需要的数据,可能多次提取

4.精炼提取到的数据
利用lambda表达式替换for循环

5.处理精炼后的数据

5.显示处理后的数据

二:程序规范
1.注释
2.空行的利用
3.函数大小10-20行
4.写平级方法并用主方法调用,避免多级嵌套方法!

四:补充
beautiful Soup, scrapy爬虫框架
爬虫、反爬虫、反反爬虫
ip 被封 代理IP
五:总结
(1)加强对正则表达式的练习
(2)加强对lambda表达式的练习!
(3)锻炼面向对象的思维模式
Code:
 1 """
 2 this module is used to spider data!
 3 """
 4 
 5 from urllib import request
 6 import re
 7 # 代替print的断点调试方法,特别重要!!!
 8 
 9 
10 class Spider:
11     """
12     this class is used to spider data!
13     """
14     url = 'https://www.panda.tv/cate/hearthstone'
15     root_pattern = '<div class="video-info">([\s\S]*?)</div>'     # 非贪婪模式
16     name_pattern = '</i>([\s\S]*?)</span>'
17     number_pattern = '<span class="video-number">([\s\S]*?)</span>'
18 
19     def __fetch_content(self):
20         """
21             this class is used to spider data!
22         """
23 
24         r = request.urlopen(self.url)   # 提取到html
25         html_s = r.read()
26         html = str(html_s, encoding='utf-8')
27 
28         return html
29 
30     def __analysis(self, html):
31         root_html = re.findall(self.root_pattern, html)     # list
32         # print(root_html[0])   # 第一次匹配的结果
33 
34         anchors =[]
35         for html in root_html:
36             name = re.findall(self.name_pattern, html)
37             number = re.findall(self.number_pattern, html)
38             anchor = {'name': name, 'number': number}
39             anchors.append(anchor)
40         # print(anchors[0])
41 
42         return anchors
43 
44     @staticmethod
45     def __refine(anchors):
46         i = lambda anchor: {'name': anchor['name'][0].strip(),  # 列表后面只有一个元素
47                             'number': anchor['number'][0].strip()
48                             }
49         return map(i, anchors)
50 
51     def __sort(self, anchors):      # 业务处理
52         anchors = sorted(anchors, key=self.__sort_seek, reverse=True)
53         return anchors
54 
55     @staticmethod
56     def __sort_seek(anchors):
57         r = re.findall('\d*', anchors['number'])
58         number = float(r[0])
59         if '万' in anchors['number']:
60             number *= 10000
61 
62         return number
63 
64     @staticmethod
65     def __show(anchors):
66         # for anchor in anchors:
67             # print(anchor['name'] + '-----' + anchor['number'])
68         for rank in range(0, len(anchors)):
69             print('rank' + str(rank + 1)
70                   + ' : ' + anchors[rank]['name']
71                   + '   ' + anchors[rank]['number'])
72 
73     def Go(self):                           # 主方法(平级的函数)
74         html = self.__fetch_content()       # 获取到文本
75         anchors = self.__analysis(html)     # 分析数据
76         anchors = self.__refine(anchors)    # 精炼数据
77         # print(list(anchors))
78         anchor = self.__sort(anchors)
79         self.__show(anchor)
80 
81 
82 spider = Spider()
83 spider.go()

 

 
 

--结束END--

本文标题: python爬虫基础

本文链接: https://www.lsjlt.com/news/179909.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 【Python】爬虫基础
    爬虫是一种模拟浏览器实现,用以抓取网站信息的程序或者脚本。常见的爬虫有三大类: 通用式爬虫:通用式爬虫用以爬取一整个网页的信息。 聚焦式爬虫:聚焦式爬虫可以在通用式爬虫爬取到的一整个网页的信息基础上只选取一部分所需的信息。 增量式爬虫:增量...
    99+
    2023-09-14
    python 爬虫 数据挖掘
  • python爬虫基础
    Note:一:简单爬虫的基本步骤1.爬虫的前奏: (1)明确目的 (2)找到数据对应的网页 (3)分析网页的结构,找到数据的位置2.爬虫第二步:__fetch_content方法 模拟HTTP请求,向服务器发送这个...
    99+
    2023-01-30
    爬虫 基础 python
  • Python之爬虫基础
    网络爬虫(又称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫...
    99+
    2023-08-31
    python 爬虫 开发语言
  • Python爬虫入门:爬虫基础了解
    Python爬虫入门(1):综述 Python爬虫入门(2):爬虫基础了解 Python爬虫入门(3):Urllib库的基本使用 Python爬虫入门(4):Urllib库的高级用法 Python爬虫入门(5):URLError异常...
    99+
    2023-01-30
    爬虫 入门 基础
  • Python爬虫基础(一)——HTTP
    前言   因特网联系的是世界各地的计算机(通过电缆),万维网联系的是网上的各种各样资源(通过超文本链接),如静态的HTML文件,动态的软件程序······。由于万维网的存在,处于因特网中的每台计算机可以很方便地进行消息交流、文件资源交流·...
    99+
    2023-01-30
    爬虫 基础 Python
  • Python爬虫基础初探selenium
    目录Seleniumselenium的用途selenium是优缺点1. Selenium工作原理1.1 Selenium配置1.2 浏览器驱动1.3 使用Selenium2 快速入门...
    99+
    2022-11-12
  • python基础之爬虫入门
    目录前言一、简单静态网页的爬取1.1 选取爬虫策略——缩略图1.2 选取爬虫策略——高清大图二、动态加载网站的爬取2.1 选取爬虫策略——selenium2.2 选取爬虫策略——ap...
    99+
    2022-11-12
  • 零基础学习Python爬虫
    目录爬虫为什么我们要使用爬虫爬虫准备工作爬虫项目讲解代码分析1.爬取网页2.逐一解析数据3.保存数据讲解我们的爬虫之前,先概述关于爬虫的简单概念(毕竟是零基础教程) 爬虫 网络爬虫(...
    99+
    2022-11-12
  • python爬虫之『入门基础』
    1.首先需要了解一下http请求,当用户在地址栏中输入网址,发送网络请求的过程是什么? 可以参考我之前学习的时候转载的一篇文章一次完整的HTTP事务过程–超详细 2.还需要了解一下http的请求方式 有兴趣的同学可以去查一下http的八...
    99+
    2023-01-31
    爬虫 入门 基础
  • Python_爬虫基础
    爬虫概念 数据获取的方式: 企业生产的用户数据:大型互联网公司有海量用户,所以他们积累数据有天然优势。有数据意识的中小型企业,也开始积累的数据。 数据管理咨询公司 政府/机构提供的公开数据 第三方数据平台购买数据 爬虫爬取数据 什么是...
    99+
    2023-01-31
    爬虫 基础
  • Python爬虫基础之requestes模块
    一、爬虫的流程 开始学习爬虫,我们必须了解爬虫的流程框架。在我看来爬虫的流程大概就是三步,即不论我们爬取的是什么数据,总是可以把爬虫的流程归纳总结为这三步: 指定 url,可以简单的理解为指定要爬取的网址 发送请求。...
    99+
    2022-06-02
    Python requestes模块 python爬虫
  • Python爬虫基础之初次使用scrapy爬虫实例
    项目需求 在专门供爬虫初学者训练爬虫技术的网站(http://quotes.toscrape.com)上爬取名言警句。 创建项目 在开始爬取之前,必须创建一个新的Scrapy项目。进入您打算存储代码的目录中,运行下列...
    99+
    2022-06-02
    Python scrapy框架 Python爬虫
  • Python爬虫基础之爬虫的分类知识总结
    目录一、通用爬虫二、搜索引擎的局限性三、Robots协议四、请求与相应一、通用爬虫 通用网络爬虫是搜索引擎抓取系统(Baidu、Google、Sogou等)的一个重要组成部分。主要目...
    99+
    2022-11-12
  • Python爬虫基础讲解之请求
    目录一、请求目标(URL)二、网址的组成:三、请求体(response)四、请求方法(Method)五、常用的请求报头六、requests模块查看请求体一、请求目标(URL) URL...
    99+
    2022-11-12
  • 零基础怎么学习Python爬虫
    本篇内容主要讲解“零基础怎么学习Python爬虫”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“零基础怎么学习Python爬虫”吧!  零基础如何学爬虫技术?对于迷茫的初学者来说,爬虫技术起步学习...
    99+
    2023-06-01
  • python爬虫基础知识有哪些
    这篇文章主要介绍“python爬虫基础知识有哪些”,在日常操作中,相信很多人在python爬虫基础知识有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”python爬虫基础知识有哪些”的疑惑有所帮助!接下来...
    99+
    2023-06-02
  • Python爬虫基础--分布式爬取贝壳网
      1. server_code01 2. server_code02 3. server_code03   ...
    99+
    2023-01-30
    爬虫 分布式 贝壳
  • 爬虫基础(二)——网页
    前言   爬虫要爬取的信息主要来自于网页加载的内容,有必要了解一些网页的知识。   当我们在浏览器网址栏输入一个网址——URL,经过TCP/IP协议簇的处理,这个网址请求的信息就被发送到URL对应的服务器,接着服务器处理这个请求,并将请求...
    99+
    2023-01-30
    爬虫 网页 基础
  • 【100天精通python】Day41:python网络爬虫开发_爬虫基础入门
    目录  专栏导读  1网络爬虫概述 1.1 工作原理 1.2 应用场景 1.3 爬虫策略 1.4 爬虫的挑战来源地址:https://blog.csdn.net/qq_35831906/article/details/132377113...
    99+
    2023-09-01
    python 爬虫 开发语言
  • Python爬虫基础之selenium库怎么用
    小编给大家分享一下Python爬虫基础之selenium库怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、selenium简介官网总的来说: seleni...
    99+
    2023-06-15
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作