ChuannBlog

爬虫基础

爬虫原理

本质:模拟浏览器向服务器发送请求获取数据。

爬虫的基本流程

  1. 分析
    • 分析是最重要的步骤
    • 首先分析目标数据或目标动作具体的位置
      • 如:分析访问拉钩网的职位信息
      • 请求URL:https://www.lagou.com/jobs/list_python
        • 可知通过更改url最后一个路径可以实现关键字搜索职位
      • 请求方式:GET
      • 请求头:
        • 清空浏览器所有缓存和cookie,访问url,众多请求中只有User-Agent是重要的,其余的不重要(通过不停测试得知)
        • User-Agent:Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.108 Safari/537.36
      • 请求体:
        • GET请求无请求体
  2. 发送请求
    • response = request.get(“https://www.lagou.com/jobs/list_python”, headers={“User-Agent”:”Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.108 Safari/537.36”})
  3. 获取响应内容
  4. 解析内容
    • 利用re,beautifulsoup等模块解析内容
  5. 保存数据
    • 利用mongodb、redis、mysql等存储数据

请求和响应

请求request

以访问http://www.baidu.com为例

响应

以访问http://www.baidu.com为例

爬虫小结

  1. 总结爬虫流程:
    • 爬取—>解析—>存储
  2. 爬虫所需工具:
    • 请求库:requests,selenium
    • 解析库:正则,beautifulsoup,pyquery
    • 存储库:文件,MySQL,Mongodb,Redis
  3. 爬虫常用框架
    • scrapy
  4. 爬虫的实现其次,主要是要学会分析爬取的目标网站
    • 站点通过何种方式辨识用户?
    • 获取站点的数据需要哪些步骤?
    • 根据步骤制定爬虫方案