当我们在上网时,实际上是给服务器发送访问请求(要附带一些信息),然后服务器返回给我们一个html源代码,浏览器解析它,将页面呈现给我们。
爬虫,就是根据用户的需求,模拟浏览器(伪装)自动抓取信息的行为。
为什么叫爬虫(网络蜘蛛):一个HTML里一般有很多链接,超链接之间的跳转类似虫在爬
1.准备工作
(1)学习基础知识
需要了解的知识:html,css,JavaScript
(2)url分析
爬虫前要先了解目标网页的布局、url的特点。
使用F12,定位我们要的东西在源代码中的位置
使用这个东西:
这里还会告诉我们我们要的东西在源代码中的层级位置:
network上的红点,控制是否继续记录
点击最开始的绿色的线:
状态:200
注意这个响应标头也是我们发给服务器的,用于告诉服务器我们的适配情况。选项卡第三个“响应”才是服务器传回的响应
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36 Edg/115.0.1901.203
User-Agent,用户代理,后面一般需要在这里做一个身份伪装。
cookie,与登录有关
(3)引入模块
导入语句:
from 包(本质是文件夹)import 模块(本质是有很多函数的py文件)
有三种模块:
①系统模块
②自定义模块
例子:
③第三方模块
有两种安装方法
方式一:pycharm的终端
方式二:设置→项目→解释器→“+”→安装
爬虫需要的包:
①bs4里面“漂亮的汤”,用于网页解析,获取数据
②re,正则,文字匹配
③urllib.request,urllib.error 用于获取网页数据
④xlwt 用于excel操作
2.获取数据
使用库,向目标网站发起访问请求(附带一些信息header等),返回一个response对象
请见我的文章:
Python的urllib库_和谐号hexh的博客-CSDN博客
Python爬虫模板(v3.0版本)与使用示例_和谐号hexh的博客-CSDN博客
3.解析内容
主要用到beautifulsoup,正则表达式re
请见我的文章:
Python爬虫之数据解析——BeautifulSoup亮汤模块(一):基础与遍历(接上文,2023美赛春季赛帆船数据解析sailboatdata.com)_和谐号hexh的博客-CSDN博客
Python爬虫之数据解析——BeautifulSoup亮汤模块(二):搜索(再接上文,2023美赛春季赛帆船数据解析sailboatdata.com)_和谐号hexh的博客-CSDN博客
4.保存数据
主要用到xlwt: