c爬虫抓取网页数据(1.爬虫的流程是怎样的?(一)教程)
优采云 发布时间: 2021-12-07 08:23c爬虫抓取网页数据(1.爬虫的流程是怎样的?(一)教程)
爬虫技术文章很少从整体上讲,这次从宏观的角度讲,希望这篇文章文章能澄清三个问题:
1. 爬取的过程是什么?
2. 每道工序都有哪些技术方案?
3. 你会遇到什么困难?
所以这个文章也为后面的文章设置了教程的框架。
1. 爬取的过程是什么?
爬虫其实很简单,可以分为三个部分:获取网页--->解析网页,提取需要的数据--->存储。在文章:爬行者一号中,我简单地举例说明了每个部分。
一种。访问页面是什么?
获取一个网页就是向一个网址发送请求,然后该网址会返回整个网页的数据。类似:你在浏览器中输入网址,回车,然后你就看到了网站的整个页面。
湾 什么是解析页面?
解析一个网页就是从整个网页的数据中提取出你想要的数据。类似:你在浏览器中看到了网站的整个页面,但是你想找到产品的价格,而价格就是你想要的数据。
C。什么是存储?
存储很简单,就是保存数据。
2. 三个进程的技术是什么?
以下技术均在python下,本文不涉及Java
一种。获取网页:
要求
url2 和 url
模拟浏览器:selenium 或 PhantomJS
湾 解析网页:
常规的
美汤
C。贮存
将txt、csv等文件保存到mysql、mongodb等数据库中。
还有一些爬虫框架,比如Scrapy。在一个框架下解决并完成这三大流程。
另外,还会有提升爬虫速度的需求,这会涉及到:分布式爬虫。
3. 每个过程会遇到什么问题?
一种。获取网页:
爬虫会自动快速获取网页内容,所以如果短时间内访问过多,网站肯定不会喜欢。所以网站会反爬虫,可以分为:
增加获取数据难度:登录查看,登录设置验证码
不返回数据:不返回内容,延迟页面返回时间
返回数据到非目标页面:返回错误页面,返回空白页面,抓取多个页面时返回同一个页面
解决这些问题的方法有:使用cookies模拟登录、使用图片识别输入验证码、模拟真实header和切换user-agents、模拟浏览器爬取网站、增加爬网间隔、更改IP、爬取wap或手机客户端等
所以爬虫是个大坑,慎入。
湾 解析网页
解析网页的问题比较少见。主要是:中文乱码。
C。贮存
存储也很简单,连接数据库或者本地存储即可。
总结:获取网页是一个对抗各个公司爬虫的过程。路漫漫其修远兮。我会爬上爬下。祝你好运!请关注我接下来的文章,会一一讲述每一部分的知识。