浅析python爬虫(上)

简介: 学习的最大理由是想摆脱平庸,早一天就多一份人生的精彩;迟一天就多一天平庸的困扰。各位小伙伴,如果您:

学习的最大理由是想摆脱平庸,早一天就多一份人生的精彩;迟一天就多一天平庸的困扰。各位小伙伴,如果您:

想系统/深入学习某技术知识点…

一个人摸索学习很难坚持,想组团高效学习…

想写博客但无从下手,急需写作干货注入能量…

热爱写作,愿意让自己成为更好的人…


前言

在日常刷一些视频的时候,总能看见一些标题为《震惊,python查找1000张美女图片》、《重磅消息:以后这些资料都不用再付钱了》......等等UC震惊部的标题


虽然夸张,但这些视频无一不是使用了python爬虫,这也从侧面衬托出爬虫功能的强大。


有的刚接触爬虫的小白会很激动,因为这意味着他们可以去“随心所欲”地去爬取任意资料,同时还为此暗自害怕与窃喜。


事实上,借用某大佬的比喻来说:爬虫就像是一把菜刀,拿这把菜刀做菜抑或是伤人,取决于使用者。


爬虫的分类(不重要)

由此,爬虫中也有了分类,分别是善意爬虫与恶意爬虫。


善意爬虫是在不破坏网站的前提下,合法合规地搜集信息。


恶意爬虫则是影响网站的正常运营,模拟大量浏览量达到目的(例如抢票),但每个网站对于访问量的数量都不是无限的,这种恶意爬虫很容易使网站宕机。


相关技术介绍(重要)

1HTML

HTML又称超文本标记语言,和大佬们平时接触的语言不同,HTML并没有逻辑结构,只使用标签来进行网站构建。


什么是 HTML?

HTML 是用来描述网页的一种语言。


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

2d8f826c21774d12a67743346cc6f246.png


HTML中的大部分标签都是有始有终的,例如<h1></h1>、<body></body>


CSS

CSS 是一种描述 HTML 文档样式的语言。


CSS 描述应该如何显示 HTML 元素。


例如


body {

 background-color: lightblue;

}

h1 {

 color: white;

 text-align: center;

}

p {

 font-family: verdana;

 font-size: 20px;

}

输出如图


5e2c2aa6d371479e908257f255543ebe.png


网络爬虫(又被称为网页蜘蛛,网络机器人)就是模拟浏览器发送网络请求,接收请求响应,一种按照一定的规则,自动地抓取互联网信息的程序。 原则上,只要是浏览器(客户端)能做的事情,爬虫都能够做。 互联网大数据时代,给予我们的是生活的便利以及海量数据爆炸式的出现在网络中。(来自华为开发者论坛)

请求头与响应头

请求头中最常见的一些重要内容(爬虫需要):


1、User-Agent:请求载体的身份标识(用啥发送的请求)


2、Referer:防盗链(这次请求是从哪个页面来的?反爬会用到)


3、cookie:本地字符串数据信息(用户登录信息,反爬的token)


响应头中一些重要内容:


1、cookie:本地字符串数据信息(用户登录信息,反爬的token)


2、各种神奇的莫名其妙的字符串(这个需要经验了,一般是token字样,防止各种攻击和反爬)


未完待续


目录
相关文章
|
6天前
|
数据采集 存储 XML
Python爬虫定义入门知识
Python爬虫是用于自动化抓取互联网数据的程序。其基本概念包括爬虫、请求、响应和解析。常用库有Requests、BeautifulSoup、Scrapy和Selenium。工作流程包括发送请求、接收响应、解析数据和存储数据。注意事项包括遵守Robots协议、避免过度请求、处理异常和确保数据合法性。Python爬虫强大而灵活,但使用时需遵守法律法规。
|
7天前
|
数据采集 缓存 定位技术
网络延迟对Python爬虫速度的影响分析
网络延迟对Python爬虫速度的影响分析
|
8天前
|
数据采集 Web App开发 监控
高效爬取B站评论:Python爬虫的最佳实践
高效爬取B站评论:Python爬虫的最佳实践
|
15天前
|
数据采集 存储 JSON
Python网络爬虫:Scrapy框架的实战应用与技巧分享
【10月更文挑战第27天】本文介绍了Python网络爬虫Scrapy框架的实战应用与技巧。首先讲解了如何创建Scrapy项目、定义爬虫、处理JSON响应、设置User-Agent和代理,以及存储爬取的数据。通过具体示例,帮助读者掌握Scrapy的核心功能和使用方法,提升数据采集效率。
59 6
|
1月前
|
数据采集 缓存 Java
Python vs Java:爬虫任务中的效率比较
Python vs Java:爬虫任务中的效率比较
|
9天前
|
数据采集 存储 JSON
Python爬虫开发中的分析与方案制定
Python爬虫开发中的分析与方案制定
|
14天前
|
数据采集 JSON 测试技术
Python爬虫神器requests库的使用
在现代编程中,网络请求是必不可少的部分。本文详细介绍 Python 的 requests 库,一个功能强大且易用的 HTTP 请求库。内容涵盖安装、基本功能(如发送 GET 和 POST 请求、设置请求头、处理响应)、高级功能(如会话管理和文件上传)以及实际应用场景。通过本文,你将全面掌握 requests 库的使用方法。🚀🌟
36 7
|
16天前
|
数据采集 Web App开发 前端开发
Python爬虫进阶:Selenium在动态网页抓取中的实战
【10月更文挑战第26天】动态网页抓取是网络爬虫的难点,因为数据通常通过JavaScript异步加载。Selenium通过模拟浏览器行为,可以加载和执行JavaScript,从而获取动态网页的完整内容。本文通过实战案例,介绍如何使用Selenium在Python中抓取动态网页。首先安装Selenium库和浏览器驱动,然后通过示例代码展示如何抓取英国国家美术馆的图片信息。
36 6
|
13天前
|
数据采集 Web App开发 JavaScript
爬虫策略规避:Python爬虫的浏览器自动化
爬虫策略规避:Python爬虫的浏览器自动化
|
13天前
|
数据采集 存储 XML
Python实现网络爬虫自动化:从基础到实践
本文将介绍如何使用Python编写网络爬虫,从最基础的请求与解析,到自动化爬取并处理复杂数据。我们将通过实例展示如何抓取网页内容、解析数据、处理图片文件等常用爬虫任务。