爬虫基础

1.爬虫是什么?

爬虫:一段自动抓取互联网信息的程序,从互联网上抓取对于我们有价值的信息。

2.爬虫原理

_3.第一个爬虫程序

_

1.扒取网页 :

扒取网页和基本代码 首先我们调用的是 urllib2 库里面的 urlopen 方法,传入一个 URL,这个网址是百度首页,协议是 HTTP 协议,当然你也可以把 HTTP 换做

FTP,FILE,HTTPS 等等,只是代表了 一种访问控制协议,urlopen 一般接受三个参数,它的参数如下:urlopen(url, data, timeout)。

2.post方式数据传递 :

我们引入了 urllib 库,现在我们模拟登陆 CSDN,当然上述代码可能登陆不进去,因为 CSDN 还有个流水号的字段,没有设置全,比较复杂在这里就不写上去了,在此只是说明登录的原理。一般的登录网站一般是这种写法。 我们需要定义一个字典,名字为 values,参数我设置了 username 和 password,下面利用 urllib 的 urlencode 方法将字典编码,命名为 data,构建 request 时传入两个参数,url 和 data,运行程序,返回的便是 POST 后呈现的页面内容。 注意上面字典的定义方式还有一种,下面的写法是等价的

3.GET方式数据传递 :

GET 方式我们可以直接把参数写到网址上面,直接构建一个带参数的 URL 出来即可。

ps:你可以 print geturl,打印输出一下 url,发现其实就是原来的 url 加?然后加编码后的参数 http://passport.csdn.net/account/login?username=1016903103%40qq.com&password=XXXX

1.cookie :

Cookie,指某些网站为了辨别用户身份、进行 session 跟踪而储存在用户本地终端上的数据(通常经过加密) 比如说有些网站需要登录后才能访问某个页面,在登录之前,你想抓取某个页面内容是不允许的。

2.获取Cookie保存到文件 :

3.从文件中获取Cookie并访问 :

4.利用 cookie 模拟网站登录 :

以上程序的原理如下 创建一个带有 cookie 的 opener,在访问登录的 URL 时,将登录后的 cookie 保存下来,然后利用这个 cookie 来访问其他网址。

1.正则表达式 :

正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,

组成一个”规则字符串”,这个”规则字符串”用来表达对字符串的一种过滤逻辑。

2.正则表达式的语法规则 :

Original: https://www.cnblogs.com/zzc1102/p/15995616.html
Author: and脱发周大侠
Title: 爬虫基础

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/599507/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 设计模式之适配器模式

    一、适配器模式:把两个不匹配的接口通过一个中间层变成可匹配的,这个中间层叫适配器,比如两脚插头+三脚插座无法进行匹配,可使用一个转接头来结合使用,这个转接头就是适配器。 二、实现思…

    数据库 2023年6月14日
    059
  • Java韩顺平

    慢慢更新 什么是程序 程序是有序指令的集合 CMD编译执行Java文件 编译:javac 文件名.java执行:java 文件名 文件夹地址栏 输入 CMD 弹出本文件夹命令行 J…

    数据库 2023年6月11日
    055
  • Linux 服务管理

    Linux 服务管理 1. 基本介绍 服务的本质就是进程,但是是运行在后台的,通常都会监听某个端口,等待其它程序的请求,比如mysqld,sshd,防火墙等,因此我们又称为守护线程…

    数据库 2023年6月6日
    089
  • 配置中心的设计-nacos vs apollo

    和 apollo 一样,nacos 也是一款配置中心,同样可以实现配置的集中管理、分环境管理、即时生效等等。不过,nacos 还具备了服务发现的功能。 分析 apollo 时,我们…

    数据库 2023年6月6日
    095
  • FastDFS分布式文件系统简介

    1. 什么是FastDFS FastDFS 是用 c 语言编写的一款开源的分布式文件系统。FastDFS 为互联网量身定制, 充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重高…

    数据库 2023年6月14日
    085
  • Javascript基础

    作者导言: 引用偶像刘德华的一句话 “学到的就要教人,赚到的就要给人”! 以下是关联的web前端基础知识文章,通过这些文章,您既可以系统地学习和了解这些知识…

    数据库 2023年6月14日
    099
  • [SQLServer]NetCore中将SQLServer数据库备份为Sql脚本

    描述: 最近写项目收到了一个需求, 就是将 SQL Server数据库备份为Sql脚本, 如果是My Sql之类的还好说, 但是在网上搜了一大堆, 全是教你怎么操作 SSMS的, …

    数据库 2023年6月9日
    086
  • 【学习路线】– 凡人修仙,升级打怪路线图(留给2022的自己!发财加薪)

    B站真是程序员的福利站,不仅有鱼皮、狂神、水哥等等一系列的大佬,也有《凡人修仙传》这样的励志动漫,其实编程也是一样,我们也需要道友的支持、分享和协助,一路升级打怪。。。经验UpUp…

    数据库 2023年6月6日
    079
  • StoneDB(石原子科技)受邀参与《开源数据库服务商服务能力分级要求》标准第一次讨论会

    2022年8月9日下午,StoneDB数据库主体研发单位石原子科技与华为、openGauss开源社区、云和恩墨、甲骨文等组织受邀参与《开源数据库服务商服务能力分级要求》标准第一次讨…

    数据库 2023年5月24日
    065
  • Mysql_视图

    视图是指计算机数据库中的视图,是一个虚拟表,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据。但是,视图并不在数据库中以存储的数据值集形式存在。行和列数据来自由…

    数据库 2023年6月11日
    074
  • MySQL第1章——数据库概述

    数据库概述 为什么要使用数据库 什么是数据持久化? 数据持久化是将数据保存到可切换的存储设备中以备后用。在大多数情况下,尤其是在企业应用中,数据持久化指的是将内存中的数据保存到硬盘…

    数据库 2023年5月24日
    079
  • oracle 怎么查看用户对应的表空间

    oracle 怎么查看用户对应的表空间? 查询用户: 查看数据库里面所有用户,前提是你是有 dba 权限的帐号,如 sys,system: select * from dba_us…

    数据库 2023年6月14日
    069
  • 使用postman Mock后端响应

    使用postman Mock后端响应 接口文档开发与评审后,前后端各自依照标准进行开发,此时前端人员有以下选择: 使用工具自己mock构造后端数据验证已开发页面 在项目中自己编写添…

    数据库 2023年6月6日
    091
  • docker 搭建php 开发环境 添加扩展redis、swoole、xdebug

    docker-compose搭建lnmp 先决条件 首先需要安装docker 安装docker-compost 1、创建lnmp工作目录 #创建三个目录 mkdir lnmp &a…

    数据库 2023年6月11日
    075
  • MySQL8.0 新特性 Hash Join

    概述&背景 MySQL一直被人诟病没有实现HashJoin,最新发布的8.0.18已经带上了这个功能,令人欣喜。有时候在想,MySQL为什么一直不支持HashJoin呢?我…

    数据库 2023年6月9日
    083
  • 一文了解Cookie

    Cookie 什么是 Cookie? 先要了解HTTP是 无状态的Web服务器,什么是无状态呢?一次对话完成后下一次对话完全不知道上一次对话发生了什么。如果在Web服务器中只是用来…

    数据库 2023年6月11日
    089
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球