这篇博客是用来记录自己的Python爬虫学习历程
其实学个基础也不是很难就一些基础的语法
毕竟大一也学过Java有点基础学习基础起来倒是不会太大麻烦
但是学爬虫的时候还是比较麻烦
所幸认识一些学长学姐给我提供了一些学习的帮助
网络爬虫个人认为是用来批量爬取网页提取网页信息的(目前)当然目前爬虫也有着很多的麻烦,所以我们应该科学爬虫防止一些不好的事情发生(比如被网站封IP等)
爬虫分为多种==>有通用爬虫和聚焦爬虫两类爬虫的工作原理如下

具体就是流程图形式就不具体说明了

接下来是一个重点内容正则表达式
需要导入re模块Python自带
import re
学习正则表达式之前需要了解什么叫原子
原子类型:所有打印字符(a-z,A-Z,0-9,-,*,&@!()等)和非打印字符(换行、Tab键等)都可以作为原子
原子类型我记得有四类
1.通用字符,
\w 代表字母,数字,下划线
\W 代表除字母,数字,下划线
\d 代表十进制数字
\D 代表除十进制数字
\s 代表空白字符
\S 代表空白字符以外的东西
2.普通字符
就是一些普通的字符串之类的
3.非打印字符
一些\n\t之类
4.原子表
用[]括起来[a-zA-Z]表示全部英语字母
示范比如有一个[uwbsd]这样的原子表
那么在匹配的时候是在这几个字符的之间有任意一个都可以匹配成功

接下来是正则表达式中的元字符
就是正则表达式中具有特殊意义的字符比如重复n次前面的字符
. 除换行符外的任意字符
^ 起始位置(就是字符从首字符匹配如果无法匹配首字符就直接返回None)==>在原子表里面代表非(用^需要加[]来括起来)
$ 结束位置
* 出现0\1\多次
? 0次或者1次
+ 出现1次\多次
[n] 出现n次
[n,]最少出现n次
[n,m]最少n次最多m次
| 模式选择符
() 模式单元就是需要提取的地方可以用()来括起来标识方便提取自己需要的东西不然可能提取出来的是包括一些html的标签标签

模式修正符可以作为search的参数
可以在不改变正则表达式的情况下通过模式修正符改变正则表达式的含义,从而实现一些匹配结果的调整
(常用的后面用斜体表示标识)
I 匹配的时候忽略大小写
M 多行匹配

L 本地化识别匹配
U UNICODE编码
S 让.匹配换行符

接下来是贪婪模式和懒惰模式
两种模式的核心
贪婪模式的核心是尽可能多的匹配满足后还是寻找可以匹配的结果 .*默认情况下这个就是贪婪模式
懒惰模式的核心是尽可能少的匹配满足就结束 .*? 默认懒惰模式

下面是正则表达式的一些常用方法
search(正则表达式,要匹配的字符串,[模式修正符])
match()=>和search差不多但是这个是从头开始匹配的就是那个子字符串必须是母字符串的开头位置
全局匹配函数findall(大字符串)
上面两个都只能匹配一个结果而使用了全局匹配函数会得到一个列表提取网页源代码中满足正则表达式的全部内容
全局匹配的格式重点
re.compile(正则表达式).findall(数据)
sub函数用于替换=>爬虫用的不多
一个实例匹配.com和.cn的网站
import re
String=“http://www.baidu.com”
zz = “[a-zA-Z]+://[^\n]+[.com|cn]”
“”"
因为[a-zA-Z]可以匹配任何字母可能是ftp什么的应用进程后面用+是代表出现多次 由于域名中不可能有换行符的出现所以可以[^\n]但是注意这边一定要加[]否则报错
“”"
sss = re.compile(zz).findall(String)
print(sss)
注意在提取网页内容的时候需要提取什么就加()===>括号内就是自己需要提取的内容否则会带html的标签
下面是一个简单爬虫的实例=>先对网页爬取,然后对网页中出现的网页名字进行提取(emm将就着看吧第一次写不是很会调)
import urllib.request,re #以文件的形式爬取所以需要.read()来返回内容 data=urllib.request.urlopen("https://read.douban.com/provider/all").read().decode('utf-8') #把编码方式转换成utf-8不然可能乱码调用decode()函数转换 print("提取页面出版社名字") par = '<div class="name">([^\s]*?)</div>' s = re.compile(par).findall(data) for ss in s: print(ss)

明天将带来urllib基础的时候其实上面是实例已经用到了urllib的部分内容

Python爬虫的学习相关推荐

  1. python自学免费课堂-推荐5个Python爬虫免费学习资源(B站高赞!)

    这里是法学院毕业的Python程序员阿峰. 写在前面: 和学任何技能一样,学习Python爬虫也需要两点:行动和时间. 所有的爬虫速成课,我都不推荐. 如果您愿意付出时间和行动,每天在Python上进 ...

  2. 无敌python爬虫教程学习笔记(一)

    python爬虫系列文章目录 无敌python爬虫教程学习笔记(一) 无敌python爬虫教程学习笔记(二) 无敌python爬虫教程学习笔记(三) 无敌python爬虫教程学习笔记(四) 本文目录 ...

  3. 无敌python爬虫教程学习笔记(二)

    系列文章目录 无敌python爬虫教程学习笔记(一) 无敌python爬虫教程学习笔记(二) 无敌python爬虫教程学习笔记(三) 无敌python爬虫教程学习笔记(四) 手刃一个小爬虫 系列文章目 ...

  4. Day2:python爬虫基础学习(大嘘)

    Day2:python爬虫基础学习(大嘘)) 教材&参考: 学习过程 Sublime配置教程 下载&安装 语言(设置中文) 设置字体/配色 配置Python环境 使用python官方编 ...

  5. Python爬虫入门学习实战项目(一)

    静态数据的采集 第一个项目我们来抓取拉勾网的招聘信息,话不多说直接开始吧! 1.首先我们导入相关库: import requests from lxml import etree import pan ...

  6. 提供三块Python爬虫代码学习

    提供三块Python爬虫代码学习 爬取内涵段子 #encoding=utf-8 import urllib2import reclass neihanba():def spider(self):''' ...

  7. 慕课网python零基础入门教程_零基础Python爬虫入门学习一之综述

    原标题:零基础Python爬虫入门学习一之综述 大家好哈,最近博主在学习Python,学习期间也遇到一些问题,获得了一些经验,在此将自己的学习系统地整理下来,如果大家有兴趣学习爬虫的话,可以将这些文章 ...

  8. Python爬虫入门学习例子之煎蛋网(福利哦)

    初学Python爬虫,学习资料是这篇博客:Python爬虫入门教程 经过前边两个例子(糗事百科爬虫和百度贴吧爬虫)的学习,我自己写了一个练习的例子:爬煎蛋网的妹子图,福利哦(*^__^*) #煎蛋网爬 ...

  9. 爬虫python需要什么软件-Python爬虫需要学习那些东西?

    基础爬虫过程 基础的爬虫其实很简单的,主要过程就是:发送请求,并获取响应数据: 解析响应数据,获取想要的那部分数据: 存储解析出来的数据: 基础的爬虫事例 比如我们想写一个爬虫程序,自动为我们获取bi ...

  10. 一个Python爬虫工程师学习养成记

    大数据的时代,网络爬虫已经成为了获取数据的一个重要手段. 很多人学习python,不知道从何学起. 很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手. 很多已经做案例的人,却不知道 ...

最新文章

  1. perl 远程 mysql_perl联接mysql
  2. [原]一步一步自己制作弹出框
  3. java 析构函数_C++与Java的区别(一)
  4. Tomcat 5 5 JNDI Resource 配置
  5. 20172301 2018-2019-1《程序设计与数据结构》课程总结
  6. linux命令stat,查看文件详细信息
  7. 【Hive】解析字符串(类似array嵌套map结构)
  8. android如何设置自适应大小的背景图片,Android 背景图片自适应方案
  9. python语音聊天_语音聊天实现
  10. ESP8266开发之旅 网络篇④ Station——ESP8266WiFiSTA库的使用
  11. php 风水起名网站源代码_202002年PHP开运网运势测算网站源码 鼠年风水起名/八字算命/算财运姻缘/易经周易/占卜+安装说明...
  12. linux 用谷歌浏览器总是崩溃,谷歌浏览器显示喔唷崩溃啦(谷歌浏览器经常崩溃怎么办)...
  13. 【华为机试真题 Python实现】查找众数及中位数
  14. 人与树林交相辉映的效果
  15. 仿58同城的伪静态写法
  16. sql中可用的模糊搜索方法
  17. 试题 算法提高 Monday-Saturday质因子
  18. 大数据技术为什么那么火?
  19. 更换新手机,教你如何恢复微信聊天记录,早一点知道就好了
  20. 计算机备注用if函数怎么算,Excel中IF函数的语法和用法

热门文章

  1. 7000字,详解仓湖一体架构!
  2. 什么是长尾词,长尾关键词的SEO秘密有哪些?
  3. C++析构函数的执行时机
  4. 用友U8C U8Cloud U8 cloud u8c V2.1 2.2 V2.3 V2.4 V2.5 V2.6 V2.7 V3.0 3.1 3.2文件下载
  5. 12个超好用的配色网站
  6. 小游戏贪吃蛇的c++源代码
  7. python 用pandas读取excel并画图
  8. oracle spool设置字符集,spool出来的文件格式一个是UTF8一个是ASCII ??
  9. MP4转RTSP推流(ffmpeg和easydarwin)
  10. python turtle画房子代码里面的窗子,如何用python画房子_用python画一个小房子