爬虫基础知识点_爬虫知识-程序员宅基地

技术标签: 爬虫  

1.爬虫的概念

模拟浏览器,发送请求,获取响应。

2.爬虫的作用

数据采集

软件测试

抢票

网站上的投票

网络安全

3.爬虫的分类

爬虫根据数量:分为通用爬虫聚焦爬虫

聚焦爬虫根据是否获取数据:分为:功能性爬虫(不读取数据,只为实现某一功能)、数据增量爬虫(获取数据,用于后续分析)

数据增量爬虫根据url与数据的关系:分为url与数据同时变化url不变数据变化

4.爬虫的流程

url或url_list(网址或网址列表)

发请求,获取响应

解析

5.http、https

https比http更安全,但性能也相对较低。

6.常见的请求头与响应头

请求头:

host:域名

connection:长连接

Upgrade-Insecure-requests:升级为https

***User-Agent:用户代理,提供系统信息和浏览器信息。

***Referer:页面跳转处,防盗链(图片/视频)

***Cookie:状态保持

响应头:

Set-Cookie

7.状态码

所有的状态码都不可信,一切以是否从抓包的响应中获取到数据为准。

network(网络)中抓包得到的源码才是判断依据,elements(元素)中的源码是渲染之后的源码,不能作为判断标准。

8.浏览器请求过程

浏览器

        发送所有请求进行渲染。

爬虫

        只发送指定请求,不会渲染。

如何抓包(根据什么)

        骨骼文件:html静态文件

        肌肉文件:js / ajax请求

        皮肤:css / font / 图片

抓包过程:

        根据发送请求的流程分别在骨骼 / 肌肉 / 皮肤响应中查找数据

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_52262831/article/details/121275440

智能推荐

Win 10 Anaconda3.7安装python2.7虚拟环境_conda 环境下载python2.7-程序员宅基地

文章浏览阅读519次。1.判断conda是否能连接成功conda upgrade --all若成功,直接进行第二步若失败,打开C盘用户文件夹,找到.condarc文件,添加清华园,然后重试2.安装python2.7conda create -n (改为你的环境名称) python=2.73.激活active (你的环境名称)4.添加到notebookpip install ipykernelpython -m ipykernel install --name (你的环境名称)._conda 环境下载python2.7

Linux下配置网络:RHEL、CentOS、Ubuntu、Kali_linux ubuntu,centos,redhat,kail-程序员宅基地

文章浏览阅读153次。1、使用配置文件配置网络RHEL和CentOS下使用配置文件配置网络:vim /etc/sysconfig/network-scripts/ifcfg-ens33 NAME=ens33 DEVICE=ens33 BOOTPROTO=dchp/static ONBOOT=yes IPADDR=192.168.49.2 NETMASK=255.255.255.0 GATEWAY=192.168.49.254 DNS1=8.8.8.8Kali下使用配置文件配置网络:vim /etc/ne_linux ubuntu,centos,redhat,kail

PPT | 从架构到组件,深挖istio如何连接、管理和保护微服务2.0?-程序员宅基地

文章浏览阅读66次。2019独角兽企业重金招聘Python工程师标准>>> ..._istio ppt

完美安装!经验之谈,看它就对了!!!卸载cuda9.0重新安装cuda10.0以及pytorh1.1.0_我原本安装了cuda10.0想卸载怎么办-程序员宅基地

文章浏览阅读1.3k次,点赞6次,收藏8次。好了我又要进行无聊又重复的工作了,虽然熟练了不少,但是我真希望这是最后一次~~~1.进入控制面版卸载含有cuda对应9.0版本的项目,卸载顺序无硬性要求_我原本安装了cuda10.0想卸载怎么办

java 堆大小的最大值,我在哪里可以永久设置Windows PC上的Java堆大小?-程序员宅基地

文章浏览阅读113次。I recently downloaded the latest Java 1.6 JDK. I'm using VisualVM which came with the SDK to test/monitor my webapp (using Tomcat server) on my local pc. I'm running Windows XP.Where are the parameter..._windows cmd设置java uintx maxheapsize

基于统计对齐的域适应方法(MMD,CMMD,CORAL,Wasserstein distance )_mmd[93](maximum mean discrepancy)-程序员宅基地

文章浏览阅读4.1k次,点赞6次,收藏63次。一:Maximum mean discrepancy (MMD)def mmd_rbf_noaccelerate(source, target, kernel_mul=2.0, kernel_num=5, fix_sigma=None): batch_size = int(source.size()[0]) kernels = guassian_kernel(source, target, kernel_mul=kernel_mu_mmd[93](maximum mean discrepancy)

随便推点

第26讲—项目6—存款利息计算器_根据定期存款的期限和相应的利率,计算本息合计。 程序代码: #include <stdio.h> v-程序员宅基地

文章浏览阅读636次。/** Copyright (c) 2015, CSDN学院* All rights reserved.* 文件名称:re.c* 作 者:刘树* 完成日期:2015年 4 月 16 日* 版 本 号:v1.0* 问题描述:输入存款金额并选择存款种类,计算出利息(不计利息税)和本息合计。*/#includeint main(void){ float Inte, Cor;_根据定期存款的期限和相应的利率,计算本息合计。 程序代码: #include void main() {float c,r,money,m; //存款 期限 本息合计 存款额 printf("请输入存款金额与期限"); scanf("%f%f",&c,&m); switch(【1】) { case 3: r=0.026; break; case 6: r=0.028; break; c

【毕业设计】深度学习交通车辆流量分析 - 目标检测与跟踪 - python opencv-程序员宅基地

文章浏览阅读3.1k次,点赞6次,收藏72次。 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天要分享的是 **基于深度学习得交通车辆流量分析 **学长这里给一个题目综合评分(每项满分5分)难度系数:3分工作量:3分创新点:5分。...

LIBCURL上传文件失败的原因可能是设置了headers中的Content-type导致的_libcurl 上传文件崩溃-程序员宅基地

文章浏览阅读6.7k次。post的参数就传递不过去了,去掉这个代码就可以,这里有什么说法么?本网通过互联网为用户提供了以下解决方法,供所有碰到类似的朋友参考:不知道你接收这个请求的是什么方法。如果是用全局变量 $_POST 那么肯定是不行的。因为,你这里的Content-type 是 application/json ,服务端不会把他当做一个表单请求,也就不会去解析他。$_POST_libcurl 上传文件崩溃

Python3 网络爬虫(请求库的安装)-程序员宅基地

文章浏览阅读207次。Python3 网络爬虫(请求库的安装)爬虫可以简单分为几步:抓取页面,分析页面和存储数据在页面爬取的过程中我们需要模拟浏览器向服务器发送请求,所以需要用到一些python库来实现HTTP的请求操作,我们用到的第三方库有requests Selenium 和aiohttprequests 的安装相关链接:GitHub :https://github.com/requests..._pip安装爬取网络信息的安装包

小程序向webview传参_h5与小程序互相跳转,传参和获取参数-程序员宅基地

文章浏览阅读3.1k次。1、h5跳转到小程序首先引入js文件跳转方法①跳转到小程序内页wx.miniProgram.navigateTo({url: '/pages/content/content',//url: '/pages/content/content?id=1', 传参});②跳转到小程序tabbar页面wx.miniProgram.switchTab({url: "/pages/index/index"})2..._wx.miniprogram.switchtab传参

连接数据库时,出现报错pymysql.err.OperationalError: (2003,“Can‘t connect to MySQL server_pymysql.err.operationalerror: (2003, "can't connec-程序员宅基地

文章浏览阅读4.2k次。问题:连接数据库时,出现报错pymysql.err.OperationalError: (2003,“Can’t connect to MySQL server on ‘mtisp-m.dbsit.sfcloud.local’ ([Errno 10109] getaddrinfo failed)”)错误原因:db=pymysql.connect(host,port,user,password,database,charset=‘utf8’,cursorclass=pymysql.cursors.Dic_pymysql.err.operationalerror: (2003, "can't connect to mysql server on 'loca

推荐文章

热门文章

相关标签