Python爬虫基础知识

(未完成)

爬虫概念

爬虫用于爬取数据,又称之为数据采集程序

爬取数据来源于网络,网络中数据可以是有web服务器、数据库服务器、索引库、大数据等等提供

爬取数据是公开的、非盈利。

python爬虫

使用python编写的爬虫脚本可以完成定时、定量、指定目标的数据爬取。主要使用多(单)线程/进程、网络请求库、数据解析、数据储存、任务调度等相关技术。

爬虫和web后端服务关系

爬虫使用网络请求库,相当于客户端请求,web后端服务根据请求响应数据。即想web服务器发起http请i去,正确地接收响应数据,然后根据数据地类型进行数据地解析及存储。

爬虫程序再发起请求前,需要伪造浏览器(User-Agent指定请求头),然后再发起请求,这样响应地成功率比较高。

Python爬虫技术相关库

网络请求

urllib

requests

selenium(UI自动测试,动态js渲染)

appnium用于手机app爬虫或UI测试

数据处理/解析

re正则

xpath

bs4

json

数据存储

pymysql

mongodb

elasticsearch

多任务库

多线程(threading)

线程队列(queue)

协程(asynio、gevent/eventlet)

爬虫框架

scrapy

scrapy-redis分布式(多机爬虫)

常见反爬虫地策略

UA(User-Agent)策略

登陆限制(Cookie)策略

请求频次(IP代理)策略

验证码(图片-云打码,图片验证,滑块验证)

动态js(Selenium/Splash/api接口)策略


不嫌弃的点点关注,点点赞 ଘ(੭ˊᵕˋ)੭* ੈ✩‧₊˚

相关推荐
2401_8734794023 分钟前
IP属地为什么有时显示外省?用IP查询工具核查动态分配、运营商出口与GeoIP库
python·tcp/ip·ip
xiangyun611 小时前
【408数据结构 08】队列:循环队列判空判满,408年年考,一次讲清
c语言·开发语言·数据结构·c++·算法
xiangyun611 小时前
【408数据结构 06】双链表、循环链表、静态链表
c语言·开发语言·数据结构·c++·算法
OKkankan2 小时前
LangChain 能力详解!:输出解析、RAG、向量数据库与 Retriever 检索器
数据结构·python·langchain·ai应用
白远山3 小时前
家政服务家政社区派单实战:调度系统架构设计与实现指南
java·开发语言·小程序·架构·需求分析
山哥ol3 小时前
【Geany 环境配置与中文乱码解决参考】
python
DevRay3 小时前
Java 21虚拟线程深度实战:告别线程池焦虑,百万并发吞吐量直接翻倍(原理+代码+避坑)
java·开发语言
free-elcmacom4 小时前
C++学习<1>程序分区
开发语言·c++
会飞锦鲤4 小时前
基于 Mask R-CNN 的药片缺陷检测系统
人工智能·pytorch·python·神经网络·resnet-50
醉颜凉4 小时前
Java 必看:如何彻底避免 HashMap 多线程死循环问题?
java·开发语言