Home

一起学爬虫——使用selenium和pyquery爬取京东商品列表

今天一起学起使用selenium和pyquery爬取京东的商品列表。本文的所有代码是在pycharm IDE中完成的,操作系统window 10。 1、准备工作 安装pyquery和selenium类库。依次点击file->settings,会弹出如下的界面: 然后依次点击:project->project Interpreter->”+”,,如上图的红色框所示。然后会弹出下面的界面: 输入selenium,在结果列表中选中“selenium”,点击“install package”按钮安装selenium类库。pyquery也是一样的安装方法。 安装chrome和chrome driver插件。chrome dirver插件下载地址:http://npm...

Read more

一起学爬虫——如何爬取通过ajax加载数据的网站

目前很多网站都使用ajax技术动态加载数据,和常规的网站不一样,数据时动态加载的,如果我们使用常规的方法爬取网页,得到的只是一堆html代码,没有任何的数据。 请看下面的代码: url = 'https://www.toutiao.com/search/?keyword=美女' headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36 SE 2.X MetaSr 1.0"} response = requests.get(url,headers=headers) pri...

Read more

一起学爬虫——PyQuery常用用法总结

什么是PyQuery PyQuery是一个类似于jQuery的解析网页工具,使用lxml操作xml和html文档,它的语法和jQuery很像。和XPATH,Beautiful Soup比起来,PyQuery更加灵活,提供增加节点的class信息,移除某个节点,提取文本信息等功能。 初始化PyQuery对象 html文档的所有操作都需要PyQuery对象来完成,初始化PyQuery对象主要有三种方式,分别是通过网址、字符串和文件名创建。 方式一:通过网址初始化PyQyery对象 先看一段代码: from pyquery import PyQuery as pq s = '<html><title>PyQuery用法总结<title></...

Read more

一起学爬虫——使用Beautiful Soup爬取网页

要想学好爬虫,必须把基础打扎实,之前发布了两篇文章,分别是使用XPATH和requests爬取网页,今天的文章是学习Beautiful Soup并通过一个例子来实现如何使用Beautiful Soup爬取网页。 什么是Beautiful Soup Beautiful Soup是一款高效的Python网页解析分析工具,可以用于解析HTL和XML文件并从中提取数据。 Beautiful Soup输入文件的默认编码是Unicode,输出文件的编码是UTF-8。 Beautiful Soup具有将输入文件自动补全的功能,如果输入的HTML文件的title标签没有闭合,则在输出的文件中会自动补全</title>,并且还可以将格式混乱的输入文件按照标准的缩进格式输出。 ...

Read more

一起学爬虫——使用xpath库爬取猫眼电影国内票房榜

之前分享了一篇使用requests库爬取豆瓣电影250的文章,今天继续分享使用xpath爬取猫眼电影热播口碑榜 XPATH语法 XPATH(XML Path Language)是一门用于从XML文件中查找信息的语言。通用适用于从HTML文件中查找数据。工欲善其事必先利其器,我们首先来了解XPATH常用的语法规则。 常用匹配规则: 属性 匹配规则描述 nodename 匹配此节点的所有子节点 / 匹配当前节点的直接子节点,不包含孙节点 // 匹配当前节点的所有子孙节点 ...

Read more

一起学爬虫——通过爬取豆瓣电影top250学习requests库的使用

学习一门技术最快的方式是做项目,在做项目的过程中对相关的技术查漏补缺。 本文通过爬取豆瓣top250电影学习python requests的使用。 1、准备工作 在pycharm中安装request库 请看上图,在pycharm中依次点击:File->Settings。然后会弹出下图的界面: 点击2中左上角的“+”按钮,弹出下图的界面: 在右上角的查询框输入requests,然后点击“Install Package”按钮安装requests插件。 2、目标 抓取每部电影的名字、主演、评分、图片等信息, 并保存在txt文本文件中。 3、分析豆瓣top250电影首页 1、分析豆瓣电影top250的网页https://movie.douban.com/top2...

Read more

一起学爬虫——urllib库常用方法用法总结

1、读取cookies import http.cookiejar as cj,urllib.request as request cookie = cj.CookieJar() handler = request.HTTPCookieProcessor(cookie) opener = request.build_opener(handler) response = opener.open('http://www.bigdata17.com') for item in cookie: print(item.name + "=" + item.value) 2、将cookies保存在文件中 filename = 'baidu_cookies.txt' cookies ...

Read more

一起学Python——数据类型详解

和学习其他编程语言一样,首先要了解一门语言的数据类型。 Python的数据类型有整型、浮点型、字符串、布尔型、日期时间类型、list列表、set集合、tuple元组、dict词典等。 1、整型 就是数学中的整数,包括负整数。 定义整型的方法: a = 100 b = -100 print(a) print(b) 结果: 100 -100 Python定义变量的语法和其他的编程语言不一样,例如Java定义整型变量的语法:int a = 10; Python是根据你的变量的值来确定变量的类型。 a = 12就是整型,a = “abc”就是字符串。 2、浮点型 就是数学中的小数。例如: a = 12.3 print(a) 变量a为浮点型。如果浮点变量的值很多或者很小,则建议...

Read more

一起学HBase——总结HBase中的PUT、GET、DELETE操作

传统的关系型数据库有CRUD增删改查操作,同样对于NoSQL列式数据库也有CRUD操作。本文对HBase中常用的Scan、GET、PUT、DELETE操作的用法做个总结。 Put操作 Put相当于传统数据库的add操作,就是在数据库中添加一条或多条记录。 Put操作分为两类,一类是一次操作一条记录,另外一类是一次操作多条数据。 HBase提供一个Put类,通过该类的对象就可以在HBase中添加数据。 Put类提供的构造函数如下: Put(byte[] row) Put(byte[] row,RowLock rowLock) Put(byte[] row,long ts) Put(byte[] row,long ts,RowLock rowLock) 通过上面的构造...

Read more

一起学HBase——简单介绍HBase各种组件

HBase是谷歌BigTble的开源实现。谷歌的三篇论文拉开了大数据江湖的序幕,铸就了现在以Hadoop为主的大数据技术生态圈。而HBase是开源的大数据数据库,和传统的行式数据库不同的是,HBase是列式数据库。列式数据的特点是开源横向扩展,将一张表的数据存储在hadoop集群的不同datanode中,一张表的存储量可以达到T级别。这是行式关系型数据库无法实现的。本文主要讲解HBase的基本概念,只有概念清楚了才能更好的在我们的系统中使用HBase。 核心组件介绍 Table:可理解为传统数据库中的一个表,但因为SchemaLess的设计,它较之传统数据库的表而言,在设计上更加灵活。 Region:将表横向切割为一个个子表,子表在HBase中被称之为Region。 Regio...

Read more