python爬虫基础

数据来源

爬取的数据来源于网络,网络中数据可以是由:Web服务器(Nginx/Apache)、数据库服务器(MySQL/Redis)、索引库(ElastichSearch)、大数据(Hbase/Hive)、视频/图片库(FTP)、云存储等(OSS)提供的。

爬虫与web后端服务的关系

爬虫使用网络请求库,相当于客户端请求,web后端服务根据请求响应数据。

爬虫即向web服务器发起http请求,正确地接收响应数据,然后根据数据的类型(Content-Type)进行数据的解析及存储。

爬虫程序在发起请求前,需要伪造成浏览器(User-Agent指定请求头),然后再向服务器发起请求。

相关技术

使用python编写的爬虫脚本可以完成:定时、定量、指定目标(Web站点)的数据抓取。

主要使用多(单)线程/进程、网络请求库、数据解析、数据存储、任务调度等相关技术。

接口测试、功能性测试、性能测试和集成测试。

网络请求

  • urllib
  • requests/urllib3
  • selenium
  • appium(手机app爬虫/UI测试)

数据解析

  • re正则
  • xpath
  • bs4
  • json

数据存储

  • pymysql
  • MongoDB
  • elasticsearch

多任务库

  • 多线程(threading)、线程队列quene
  • 协程(asynio、gevent/eventlet)

爬虫框架

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

常见反爬策略

  • UA(User-Agent) 策略
  • 登录限制(Cookie) 策略
  • 请求频次(IP代理) 策略
  • 验证码(图片-云打码、文字或物件图片选择验证、滑块) 策略
  • 动态JS(Selenium/Splash/查找api接口) 策略
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值