01:快速入门爬虫

news/2024/11/9 5:14:27/

1.引导

1.Robots协议

Robots协议(爬虫协议)的全称是“网络爬虫排除标准”(Robots Exclusion Protocol),网站通过Robots协议告诉搜索引擎哪些页面可以抓取,哪些页面不能抓取。该协议是国际互联网界通行的道德规范,虽然没有写入法律,但是每一个爬虫都应该遵守这项协议。

2.爬虫的流程

流程图

请添加图片描述

(1)获取网页

获取网页就是给一个网址发送请求,该网址会返回整个网页的数据

常用技术

获取网页的基础技术:requests、urllib和selenium

获取网页的进阶技术:多进程多线程抓取(8)、登录抓取、突破IP封禁和使用服务器抓取

(2)解析网页(提取数据)

解析网页就是从获取的整个网页的数据中提取想要的数据

常用技术

解析网页的基础技术:re正则表达式、BeautifulSoup和lxml

解析网页的进阶技术:解决中文乱码

(3)存储数据

存储数据也很容易理解,就是把数据存储下来。我们可以存储在csv中,也可以存储在数据库中

常用技术

存储数据的基础技术:存入txt文件和存入csv文件

存储数据的进阶技术:存入MySQL数据库和MongoDB数据库

2.环境安装

(1)Anaconda

(2)pycharm

3.入门级案例

[学习HTML的网站]http://www.w3school.com.cn/html/index.asp

Python 100试题l

爬虫学习测试网站

如此在浏览器上面查找我们想要的元素

第一步:打开浏览器,跳转到指定的网页,然后点击鼠标右键

请添加图片描述

点击小箭头后,会自动跳转到我们想要的内容上,并且显示标签

请添加图片描述

#*******************************************************#
# 导包:从bs4中导入BeautifulSoup
#*******************************************************#
import requests
from bs4 import BeautifulSoup
#*******************************************************#
#  link是我们想要获取的网页链接
#  这个链接可换成我们想要获取的网页链接
#*******************************************************#
link = "http://www.santostang.com/"
#*******************************************************#
#  headers是定义的浏览器的请求头,伪装成浏览器
#  一般是固定的,不要去改变它
#*******************************************************#
headers = {"User-Agent": "Mozilla/5.0 (WIindows; U; Windows NT 6.1;en-US; rv:1.9.1.6)Gecko/20100101 Firefox/3.5.6"}
#*******************************************************#
#####  第一步:请求网页
#*******************************************************#
r = requests.get(link, headers=headers)
print(f"获取网页的html网页内容如下:\n{r.text}")
#*******************************************************#
#####  第二步:解析网页
#   BeautifulSoup会将获取的html文档代码转换成soup对象
#   然后利用soup对象查找我们想要的指定元素
#*******************************************************#
soup = BeautifulSoup(r.text, 'html.parser')
#*******************************************************#
#    利用soup对象查找指定的元素
#    soup.find("h1", class_="post-title").a.text.strip()的意思是,找到第一篇文章标题
#    定位到class是"post-title"的h1元素,提取a元素,提取a元素里面的字符串,strip()去除左右空格
#*******************************************************#
title = soup.find("h1",class_="post-title").a.text.strip()
#*******************************************************#
# 输出一下自己提取的结果,看是否提取到
#*******************************************************#
print(title)
#*******************************************************#
#####  第三步:保存数据,为txt
#*******************************************************#
with open("results.txt", "a+") as f:f.write(title + "\n")

http://www.ppmy.cn/news/234553.html

相关文章

回溯算法part3 | ● 39. 组合总和 ● 40.组合总和II ● 131.分割回文串

文章目录 39. 组合总和思路思路代码困难 40.组合总和II思路官方题解代码困难 131.分割回文串思路思路代码官方题解代码困难 今日收获 39. 组合总和 39.组合总和 思路 回溯的时候不需要从下一个数开始了,从当前数开始即可。 思路代码 func combinationSum(candi…

【SpinalHDL快速入门】SpinalHDL知识卡片

文章目录 新建工程各个工具版本SpinalHDL入门例子Scala 易忘知识点返回值为空的函数ApplyObject入口函数mainclassCase class继承(Inheritance)饱和运算计数器Demodemo1demo2(支持reset信号异步复位,低电平有效)demo3(一个文件,支持异步复位)新建工程各个工具版本 配置…

c语言中字符串比较的库函数是什么

说起比较运算&#xff0c;肯定第一时间想到了C语言中关于比较的相关运算符 “>、<、&#xff01;、>、<、”&#xff0c;那么要比较两个字符串是否相等是不是直接用“”比较就行了。下面就来看看这种方法行不行&#xff1f; 先看一个例子 void main( void ) {cha…

久戴不痛的蓝牙耳机有哪些?公认佩戴最舒适的无线蓝牙耳机推荐

现在的蓝牙耳机有着各种各样的性能&#xff0c;佩戴舒适也成为了人们选择蓝牙耳机的重要性能之一。戴着舒服&#xff0c;久戴不痛的蓝牙耳机有哪些&#xff1f;符合人体工学设计&#xff0c;轻便小巧&#xff0c;佩戴稳固的蓝牙耳机受到了不少人的欢迎。下面&#xff0c;我来给…

啥牌子的蓝牙耳机好?南卡、华为和漫步者蓝牙耳机

蓝牙耳机是人们不可缺的数码用品&#xff0c;出门在外或是玩游戏都离不开&#xff0c;随着国产TWS耳机的崛起&#xff0c;越来越多的人优先选择国产蓝牙耳机品牌&#xff0c;下面找来了当前市面上三款热门真无线蓝牙耳机&#xff0c;分别有南卡小音舱、华为FreeBuds 4E、漫步者…

2022年千元以下有哪些值得购买的蓝牙耳机?平价耳机深度测评,漫步者、南卡、Vivo、oppo、小米、三星、华为哪款最值得买?

许多朋友挑选无线蓝牙耳机的时候&#xff0c;并不知道自己到底需要什么样的无线蓝牙耳机&#xff0c;一心只想着性能最强可以节省时间的&#xff0c;但如若要找一款适合自己的蓝牙耳机&#xff0c;必要的参数对比是不能省的&#xff0c;所以今天我来一期蓝牙耳机测评&#xff0…

SpringMVC-【回顾】

回顾MVC架构 什么是mvc&#xff1a;模型、视图、控制器 -----软件设计规范 回顾servlet maven项目导入依赖&#xff08;webmvc,servlet-api,jsp-api,jstl,junit&#xff09;创建子模块&#xff0c;在子模块中添加框架支持&#xff08;在子模块中导入依赖jsp、servlet【因为父…

css常用的样式属性

CSS&#xff08;层叠样式表&#xff09;是用于网页排版的标记语言&#xff0c; 利用 CSS 可以控制网页中各个元素的布局、颜色、字体、边框等各种样式&#xff0c;下面是一些常用的 CSS 样式属性&#xff1a; background-color&#xff1a;设置背景颜色color&#xff1a;设置文…