| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Python知识库 -> 爬虫学习笔记 -> 正文阅读 |
|
[Python知识库]爬虫学习笔记 |
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的路径: 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 # 写入表头 # 保存 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/15 20:49:08- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |