| |
|
开发:
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知识库]爬虫学习总结 |
记录mac使用chromedriver的解决办法CSDN解决办法链接
记录mac在终端使用jupyter notebook把要使用的目录在终端打开 一、基础知识1、为什么要爬爬取网络数据:如果需要的数据市场上没有,或者不愿意购买,那么可以选择爬虫方式,自己动手丰衣足食
2、爬虫的作用数据分析----社交网络、情感分析、购物助手、排行榜数据等 3、爬虫如何工作网络爬虫模拟浏览器发送网络请求,接收请求响应,按照一定的规则,自动地抓取互联网信息的程序。遵循标准的HTTP协议利用超链接和Web文档检索方法遍历万维网
? 4、法律与道德问题 robots.txt

 ? 二、网页基本知识1、认识HTTP协议HTTP(超文本传输协议)是应用层上的一种客户机/服务器的通信协议,是Web的核心,由请求和响应构成。 协议:协议规定了通信双方必须遵守的数据传输格式,这样通信双方按照约定的格式才能准确的通信。 URL地址格式HTTP协议基于URL访问服务器资源 如:  user-Agent 请求头

HTTP响应 状态码
2xx:表示服务器成功接收请求并已完成整个处理过程,常用200表示请求成功。 2、网页组成(三大件)
复杂的网页主要由3部分组成 HTML-结构:决定网页的结构和内容元素标记头部文件, 静态网页和动态网页静态网页:随着HTML代码的生成,页面的内容和显示效果就基本上不会发生变化了——除非你修改页面代码。 爬虫取到的页面仅仅是一个静态的页面,即网页的源代码,就像在浏览器上的“查看网页源代码”一样。一些动态的东西如JavaScript脚本执行后所产生的信息,是抓取不到的。 3、浏览器工具(F12)
使用浏览器开发者工具查看网页请求  查看页面元素
常用属性: 三、使用request库编写基本爬虫
Python 提供了很多库来支持 HTTP 协议的网络编程,目前普遍使用requests库 实例_从豆瓣爬取图片
 1、获取URL
在网页要查看的元素上,单击鼠标右键,选择“检查” 2、发出请求
3、解析请求
响应对象中的属性
HTTP返回的响应消息中很重要的一部分内容是响应体,与响应体相关的属性有:content、text、json。
 4、保存数据保存数据
 解决中文乱码将响应的apparent_encoding 编码送给响应的encoding属性: 2、为请求添加参数请求参数:向请求提交的待处理数据 get请求
很多URL都带有很长一串参数,称这些参数为URL的查询参数,用”?”附加在URL链接后面,多个参数之间用”&”隔开 以百度搜索为例,如何进行带参数请求?
post方式
requests 可以非常灵活地构建post请求需要的数据,如果服务器要求发送的数据是表单数据,则可以指定关键字参数 data;

 3、伪装请求头 user-agentrequests 可以很简单地指定请求首部字段Headers,直接传递一个字典对象给参数 headers 即可。 user-agent(用户代理):HTTP协议中的一部分,属于请求头,作用是描述发出HTTP请求的终端的一些信息。 修改user-agent:储存系统和浏览器的型号版本,通过修改它来伪装为浏览器,以此来蒙蔽服务器
四、使用BeautifulSoup库解析网页requests 库请求的数据结果 BeautifulSoup :一个用于解析 HTML 文档的 Python 库,通过 BeautifulSoup,只需要用很少的代码就可以提取出 HTML 中任何感兴趣的内容,此外,它还有一定的 HTML 容错能力,对于一个格式不完整的HTML 文档,它仍可以正确处理。
1、使用前准备工作pip install bs4 官方文档:http://beautifulsoup.readthedocs.io/zh_CN/v4.4.0
 2、如何使用BeautifulSoup构建一个 BeautifulSoup 对象需要两个参数 BeautifulSoup 负责操作数据(增删改查) 3、标签选择器


提取标签间文字的方法



4、遍历DOM树可以对元素的子元素、父元素、兄弟元素等进行导航,从而遍历整个网页  下行遍历 上行遍历 平行遍历 搜索文档树搜索文档树是通过指定标签名来搜索元素,还可以通过指定标签的属性值来精确定位某个节点元素  5、BeautifulSoup库网络爬取实战
 6、CSS选择器
 7、实战_利用BeautifulSoup爬取猫眼
五、自动化爬取动态网站的方法
? 测试selenium自动执行
中国大学2020排名六、反爬虫 最后,请利用所学的实践一波吧 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年2日历 | -2025/2/20 7:22:32- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |