爬虫学习笔记

本文介绍了网络爬虫的基本原理,如何设计思路抓取HTML页面,使用Python requests库进行get和post请求,以及实战示例——爬取东方财富数据。重点讲解了HTML基础知识和爬虫库的使用,适合初学者入门。
摘要由CSDN通过智能技术生成

1、爬虫的定义

      网络爬虫,又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者,是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。

2、爬虫的基本原理

      网络爬虫的基本原理,网络爬虫是捜索引擎抓取系统的重要组成部分。爬虫的主要目的是将互联网上的网页下载到本地形成一个或联网内容的镜像备份。这篇博客主要对爬虫以及抓取系统进行一个简单的概述。

3、爬虫的设计思路:

     1)首先确定需要爬取的网页URL地址。

     2) 通过HTTP/HTTP协议来获取对应的HTML页面。

     3) 提取HTML页面里有用的数据:

            a. 如果是需要的数据,就保存起来。

            b. 如果是页面里的其他URL,那就继续执行第二步。

4、了解HTML

      HTML 是用来描述网页的超文本标记语言(Hyper Text Markup Language),HTML 不是一种编程语言,而是一种标记语言 (markup language),标记语言是一套标记标签 (markup tag)。

5、学习使用python爬虫库

      Python 爬虫库,requests是python实现的简单易用的HTTP库,requests是python实现的简单易用的HTTP库,使用起来比urllib简洁很多,因为是第三方库,所以使用前需要cmd安装,找到python安装路径中的Scripts的路径:
C:\Users\Administrator\AppData\Local\Programs\Python\Python38-32\Scripts
cmd:cd                                                C:\Users\Administrator\AppData\Local\Programs\Python\Python38-32\Scripts                                 

6、get请求和post请求的区别

      1)get请求无请求体,post有

      2)get请求把数据放到URL地址中

      3)post请求change用于登录注册

      4)post请求携带的数据量比get请求大,多,常用于传输大文本

7、requests模块的学习

     1)使用前:pip  install  requests

     2)发送get,post请求

         response = requests.get(url)  #发送get请求,请求url地址对应的响应

         response = requests.post(url,data={请求体的字典})  #发送post请求

         response.request.url   #发送请求的url地址(字符串)

         response.url          #response响应的url地址(字符串)

         response.request.headers  # 请求头(字典)

         response.headers        #响应头(字典)

      3)response的方法

         ->response.text

         该方式往往会出现乱码,出现乱码使用response.encoding=”utf-8”

         ->response.content.decode()

         把响应的二进制字节流转化为str类型

      4)获取网页源码的方法(通过下面三种方式一定可以获取到)

          ->response.content.decode()

          ->response.content.decode(“gbk”)

          ->response.text

       5)发送header的请求:为了模拟浏览器,获取和浏览器一模一样的内容headers = {“”:””,””:””}  #””里面可以在Response Headers里找

 例如:

get请求:

import requests

url = 'http://www.baidu.com'

headers = {"User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36"}

response = requests.get(url, headers=headers)

# print(response)

# 获取网页的html字符串

# response.encoding = 'utf-8'

# print(response.text)

print(response.content.decode())

post请求:

import requests

url = 'https://fanyi.baidu.com/basetrans'

query_string = {'query': '人生苦短,我用python', 'from': 'zh', 'to': 'en'}

headers = {'User-Agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143 Safari/601.1'}

response = requests.post(url, data=query_string, headers=headers)

print(response)

print(response.content.decode())

8、简单的爬取网页数据(爬取东方财富网站数据 )

 # 创建一个workbook 设置编码

# 停止driver

# 创建一个worksheet

# 写入表头

# 保存

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值