随笔分类 - Python爬取网页数据
爬虫获取网页数据
摘要:前言:有些页面的信息在爬虫时需要登录才能查看。打开网页登录后,在客户端生成了Cookies,在Cookies中保存了SessionID的信息,登录后的请求都会携带生成后的Cookies发送给服务器。服务器根据Cookies判断出对应的SessionID,进而找到会话。如果当前会话有效,服务器就判断用
阅读全文
摘要:网站采取的反爬虫措施有:弹出验证码,需要登录。检测某个IP在单位时间内的请求次数,超过规定的某个值,服务器拒绝服务,返回一些错误信息,这是封IP。既然服务器封IP,可采用某种方式伪装IP,让服务器不能识别由本机发起的请求,这样来避免封IP。这时就需要使用到代理。一、 代理的设置代理有免费代理和付费代
阅读全文
摘要:前言:验证码是众多网站采取的反爬措施。验证码的花样也很多,主要有下面这几种类验证码:图形验证码:数字、英文字母、混淆曲线组合成的验证码。行为验证码:识别文字,点击与文字相符的图片验证码。交互式验证码:极难滑动验证码,滑动拼合滑块方可完成验证。点触验证码:点击正确结果才可完成验证。还有滑动宫格验证码、
阅读全文
摘要:三、 使用 Selenium 爬取淘宝商品在分析 Ajax 抓取相关数据时,不是所有页面都可以通过分析 Ajax 来完成抓取。比如淘宝的整个页面数据确实是通过 Ajax 获取的,但这些 Ajax 接口参数复杂,并且包含有加密密钥等,如果要构造 Ajax 参数是很困难。像这种页面最方便的抓取方法是通过 Selenium 。接下就用 Selenium 模拟浏览器操作,抓取淘宝的商品信息,并用 pyqu...
阅读全文
摘要:二、 Splash的使用Splash是一个JavaSscript渲染服务,一个带有HTTP API的轻量级浏览器,同时对接了Python中的Twisted和QT库。使用它同样可以实现动态渲页面的抓取。Splash可以实现下面的这些功能:异步方式处理多个网页渲染过程;获取渲染后的页面的源代码或截图;通
阅读全文
摘要:Ajax分析和抓取方式,是JavaScript动态渲染页面的一种情形,可使用 requests 或 urllib 爬取数据。JavaScript动态渲染的页面不是只有Ajax一种,比如中国青年网 http://news.youth.cn/gn/ 的分页部分由JavaScript生成的,不是原始的HTML代码,但是不包含Ajax请求。又比如ECharts的官方实例 http://echarts.ba...
阅读全文
摘要:分析今日头条的Ajax请求抓取网页数据,这次抓取今日头条的街拍美图,抓取完成后将每组图片分文件夹下载到本地并保存下来。1 抓取前的分析工作首先分析抓取逻辑,打开今日头条首页:http://www.toutiao.com/。右上角有一个搜索入口,由于要抓取街拍美图,所以输入“街拍”二字进行搜索。出现搜索结果页面。接着打开开发者工具,查看所有的网络请求。首先打开第一个网络请求,这个请求的URL就是当...
阅读全文
摘要:前言:在用request抓取页面时,有时得到的结果与在浏览器中看到的不一样,浏览器能看到正常页面数据,但使用requests得到的结果并没有。requests获取的是原始的HTML文档,而浏览器中的页面是经过JavaScript处理数据后生成的结果,这些数据来源可能通过Ajax加载的,可能包含在HTML文档中的,也可能是经过JavaScript和特定算法计算后生成的。对于Ajax加载方式,数据加载...
阅读全文
摘要:非关系型数据库存储NoSQL全称Not Only SQL,意为不仅仅是SQL,泛指非关系型数据库。NoSQL基于键值对,不经过SQL层的解析,数据间没有耦合性,性能高。非关系型数据库细分如下:键值存储数据库:代表有Redis,Voldemort和Oracle BDB等。列存储数据库:代表有Cassandra,HBase和Riak等。文档型数据库:代表有CouchDB和MongoDB等。图形数据库:...
阅读全文
摘要:一 关系型数据库存储关系型数据库是基于关系模型的数据库,而关系模型是通过二维表来保存的,所以它的存储方式就是行列组成的表,每一列是一个字段,每一行是一条记录。表可以看作某个实体的集合,而实体之间存在联系,这就需要表与表之间的关联关系来体现,如主键外键的关联关系。多个表组成一个数据库,也就是关系型数据库。关系型数据库有多种,如SQLite、MySQL、Oracle、SQL Server、DB2等...
阅读全文
摘要:用解析器解析出数据后就要对数据进行存储。存储形式有多种,可直接在保存为文本文件,如TXT,JSON,CSV等。另外还可保存到数据库中,如关系型数据库MySQL,非关系型数据库MongoDB,Redis等。一 文件存储主要有txt,json,csv等文本文件存储方式。(一) TXT文本存储优点:简单,兼容任何平台;缺点:不利于检索。对检索和数据结构要求不高,使用方便的话,可用TXT文本存储。...
阅读全文
摘要:在网页节点中,可以定义id、class或其他属性。节点间有层次关系,网页中要通过XPath或CSS选择器定位一个或多个节点。在页面解析时,可利用XPath或CSS选择器提取某个节点,再调用相应方法获取它的正文内容或者属性,就可提取到想要的信息。在python中常用的解析库有lxml、Beautifu
阅读全文
摘要:Python提供了功能齐全的类库来完成网络请求。基础库的HTTP库有urllib, httplib2, requests, treq等。 比如说rullib库,不用关心底层怎么实现的,只要关心请求的链接是什么,要传的参数是什么,以及如何设置可选的请求。有这些库,可能两行代码就可完成一个请求和响应的处
阅读全文
摘要:一、HTTP基本原理(一) URI和URL URI全称为:Uniform Resource Identifier,统一资源标志符 URL全称为:Universal Resource Locator ,即统一资源定位符。 用URL/URI来唯一指定它的访问方式,包括了访问协议https、访问路径(/即
阅读全文
摘要:一、Python3的安装安装包下载及相关文档介绍。相关连接如下。官方网站:https://www.python.org/下载地址:https://www.python.org/downloads第三方库:https://pypi.python.org/pypi官方文档:https://docs.py
阅读全文