首页 > 编程语言 >python 网站爬虫需要哪些技术?

python 网站爬虫需要哪些技术?

时间:2022-12-20 11:02:23浏览次数:49  
标签:网页 哪些 python JavaScript 爬虫 js HTML 节点

对于从事网络爬虫行业的资深技术员来说,正常只要学会下面几点,基本就能够独立完成爬虫任务。

学Python爬虫需要学习的八个知识点:

1、 HTML

HTML被称为超文本标记语言,有着一系列的标签,这些标签的组合可以显示出文字,图片,视频等内容。我们平时访问的网页,就是通过html编写的。但是想要像我们看到的网页那样漂亮,我们需要为文档添加css样式。如果想要漂亮的动画效果,想要图片能够自动播放,想要点击出现一些反馈,就需要JavaScript来编写脚本啦。

2 、CSS

css能够对网页中的各种元素(这种元素即我们提到的HTML标签),我们可以通过它来设置背景颜色,设置元素的大小位置,设置字体的排版等等。

3、 JavaScript

我们简称它为js,js的运行需要靠浏览器来运行。它是一种脚本语言,具有即时编译的特点。js可以做一些动态的操作,比如添加一个元素,改变元素的内容,改变css样式。

4、HTML标签

下面我写了一些常用的HTML标签

5、选择器

在 CSS 中,我们使用 CSS 选择器来定位节点。例如,下图中 div 节点的 id 为 asideProfile,那么就可以表示为 #asideProfile,其中 # 开头代表选择 id,其后紧跟 id 的名称。

另外,如果我们想选择 class 为aside-box的节点,便可以使用 .aside-box,这里以点“.”开头代表选择 class,其后紧跟 class 的名称。

6、爬虫原理

互联网就是一张大网,而爬虫(即网络爬虫)便是在网上爬行的蜘蛛。如果把网的节点比作一个个网页,爬虫爬到这就相当于访问了该页面,获取了其信息。可以把节点间的连线比作网页与网页之间的链接关系。

爬虫首先要做的工作就是获取网页,这里就是获取网页的源代码。获取网页源代码后,接下来就是分析网页源代码,从中提取我们想要的数据。

提取信息后,我们可以简单保存为 TXT 文本或 JSON 文本,也可以保存到数据库,如 MySQL 和 MongoDB 等,还可保存至远程服务器。

7、JavaScript 渲染页面

现在网页越来越多地采用 Ajax、前端模块化工具来构建,整个网页可能都是由 JavaScript 渲染出来的,也就是说原始的 HTML 代码就是一个空壳。

网页请求这个js文件,获取到该文件后,便会执行其中的 JavaScript 代码,而 JavaScript 则会改变 HTML 中的节点,向其添加内容,最后得到完整的页面。

对于,可以通过selenium或者找到Ajax的请求地址就可以解决。

8、加密

爬取网站的时候,经常会遇到各种各样类似加密的情形,比如:字体加密,构造参数加密, 想要抓取就必须要懂得找到对应的js文件,研究这些参数是怎么构造的,现在对于更多更全的信息都是通过 App 来展示的。一些 App 在内部实现的时候对代理加了一些校验,如绕过系统代理直接连接或者检测到了使用了代理,直接拒绝连接。这需要考虑使用 Wireshark、Tcpdump 在更底层的协议上抓包。

标签:网页,哪些,python,JavaScript,爬虫,js,HTML,节点
From: https://blog.51cto.com/u_13488918/5954465

相关文章

  • java常用的数据类型有哪些
    前言在上一篇文章中,壹哥给大家讲解了Java中变量的定义、使用及基本原理等内容,这个内容并不是很难,但却是我们走向Java大神的第一步!壹哥希望你从第一天就要认真对待哦。在......
  • 日志切割: logrotate、python、shell实现
    对于Linux系统安全来说,日志文件是极其重要的工具。不知为何,我发现很多运维同学的服务器上都运行着一些诸如每天切分Nginx日志之类的CRON脚本,大家似乎遗忘了Logrotate,争相发......
  • 用Python来写个小型购物车程序
    0x1前言Python语言能做很多东西的,像数据分析啊、自动化、开发、爬虫(真的很棒哟,初学者玩很有成就感的啊哈哈)等等还有挺多。0x2用Python编写的一个小型购物车程序impor......
  • Python__08--运算符
    1常用运算符1.1算数运算符加(+)、减(-)、乘(*)、除(/)、整除(//)取余(%)测试代码:print(-9//-4)print(9//4)print(9//-4)print(-9//4)#一正一负向下取整......
  • git 看某次commit改了哪些文件
    gitlog查看commit的历史gitshow查看某次commit的修改内容gitlog-p查看某个文件的修改历史gitlog-p-2查看最近2次的更新内容gitlog–name-status每次修改......
  • anaconda配置Python环境
    查看环境condaenvlist创建python name环境,python版本为3.9:condacreate-nnamepython=3.9激活:condaactivatename去掉激活:condadeactivatename进入panda......
  • Python单元测试框架unittest+requests +HTMLTestRunnerNew
    1)写用例TestCase2)执行用例1:TestSuite存储用例,2:TestLoader找用例,存储用例,存放指定的TestSuite3)对比实际结果/期望结果,判定用例是否通过#断言Assert4)出局测试报告TextT......
  • 【python】mac+appium+python的环境配置完整流程
    一、概述(如果电脑已有可以跳过):1、安装JavaJDK2、安装Homebrew3、安装Python34、安装Git5、安装AdroidSDK(要测试ios,还需要安装Xcode)6、安装Node.js7、安装AppiumSe......
  • 〖Python APP 自动化测试实战篇③〗- Mac系统下 appium 环境的配置搭建
    开始使用“APPIUM”编写脚本之前,必不可少的步骤就是搭建“APPIUM”这样一套测试框架的环境配置。相对于前面学习的接口测试、WEB自动化测试的环境搭建来说,“APPIUM”......
  • PYTHON - openpyxl (三)
    1.1移动数据sheet.move_range(cell_range,rows=0,cols=0,translate=False):cell_range是一个区域rows表示相对移动的行数(正数向下,负数向上)cols表示相对移动的......