07 2017 档案
摘要:以爬取斗鱼直播上的信息为例: URL地址:http://capi.douyucdn.cn/api/v1/getVerticalRoom?limit=20&offset=0 爬取字段:房间ID、房间名、图片链接、存储在本地的图片路径、昵称、在线人数、城市 1.items.py 2.spiders/do
阅读全文
摘要:Scrapy是用纯Python实现的一个为了爬取网站数据、提取结构性数据而编写的应用框架,用途非常广泛。 框架的力量,用户只需要定制开发几个模块就可以轻松的实现一个爬虫,用来爬取网页内容以及各种图片,非常方便。 Scrapy使用了Twisted异步网络框架来处理网络通讯,可以加快我们的下载速度,不用
阅读全文
摘要:动态页面的模拟点击: 以斗鱼直播为例:http://www.douyu.com/directory/all 爬取每页的房间名、直播类型、主播名称、在线人数等数据,然后模拟点击下一页,继续爬取
阅读全文
摘要:机器视觉 从Google的无人驾驶汽车到可以识别假钞的自动售卖机,机器视觉一直都是一个应用广泛且具有深远的影响和雄伟的愿景的领域。 这里我们将重点介绍机器视觉的一个分支:文字识别。介绍如何用一些Python库来识别和使用在线图片中的文字。 我们可以很轻松的阅读图片里的文字,但是机器阅读这些图片就会非
阅读全文
摘要:使用Selenium与PhantomJS模拟登录豆瓣:https://www.douban.com/
阅读全文
摘要:Selenium Selenium是一个Web的自动化测试工具,最初是为网站自动化测试而开发的,类型像我们玩游戏用的按键精灵,可以按指定的命令自动操作,不同的是Selenium可以直接运行在浏览器上,它支持所有主流的浏览器(包括PhantomJS这些无界面的浏览器)。 Selenium可以根据我们的
阅读全文
摘要:案例:多线程爬虫 目标:爬取糗事百科段子,待爬取页面URL:http://www.qiushibaike.com/8hr/page/1 要求: queue(队列对象) queue是python中的标准库,可以直接import queue引用,队列是线程间最常用的交换数据的形式 python下多线程:
阅读全文
摘要:JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它使得人们很容易的进行阅读和编写。同时也方便了机器进行解析和生成。适用于进行数据交互的场景,比如网站前台与后台之间的数据交互。 JSON和XML相比较可谓不相上下。 Python 3.X中自带了JSON模块,
阅读全文
摘要:我们以腾讯社招页面来做示例:http://hr.tencent.com/position.php?&start=0#a 如上图,使用BeautifulSoup4解析器,将图1中229页,每页10个招聘信息,共2289个招聘信息中的职位名称、职位类别、招聘人数、工作地点、工作职责、工作要求、详情链接等
阅读全文
摘要:BeautifulSoup用来解析HTML比较简单,API非常人性化,支持CSS选择器、Python标准库中的HTML解析器,也支持lxml的XML解析器。 其相较与正则而言,使用更加简单。 示例: 首先必须要导入bs4库 运行结果 四大对象种类 BeautifulSoup将复杂的HTML文档转换成
阅读全文
摘要:现在我们用正则来做一个简单的爬虫,我们尝试爬取某个百度贴吧里面的所有帖子,并且将这个帖子里首页每个楼层发布的图片下载到本地。 分析:以美女吧为例 第一页:https://tieba.baidu.com/f?kw=%E7%BE%8E%E5%A5%B3&pn=0 第二页:https://tieba.ba
阅读全文
摘要:下面我们尝试爬取内涵段子网站:http://www.neihan8.com/article/list_5_1.html 打开之后,当你进行翻页的时候,不难注意到,url地址的变化: 第一页url: http: //www.neihan8.com/article/list_5_1 .html 第二页u
阅读全文
摘要:为什么要学习正则表达式 实际上爬虫一共就四个主要步骤: 我们在前面的案例里实际上都省略了第3步,也就是“取”的步骤。因为我们down下了的数据是全部的网页,这些数据很庞大并且很混乱,其中大部分的东西是我们不关心的,因此我们需要将之按我们的需要过滤和匹配出来。 那么对于文本的过滤和者规则的匹配,最强大
阅读全文
摘要:Requests继承了urllib.request的所有特性,Requests支持HTTP连接保持和连接池,支持使用cookie保持会话,支持文件上传,支持自动确定响应内容的编码,支持国际化的URL和POST数据自动编码。 相较于urllib.request而言,其使用更加简洁方便。 基本GET请求
阅读全文
摘要:我们之前一直都在使用的urlopen,这是一个特殊的opener(也就是模块帮我们构建好的)。 但是基本的urlopen()方法不支持代理、cookie等其他的HTTP/HTTPS高级功能。所以要支持这些功能: 1.使用相差的Handler处理器来创建特定功能的处理器对象; 2.然后通过urllib
阅读全文
摘要:urllib.parse.urlencode()和urllib.parse.unquote() 编码工作使用urllib.parse的urlencode()函数,帮我们将key:value这样的键值对转换成"key=value"这样的字符串,解码工作可以使用urllib的unquote()函数。 一
阅读全文
摘要:所谓网页抓取,就是把URL地址中指定的网络资源从网络流中读取出来,保存到本地。在Python中有很多库可以用来抓取网页,我们先学习urllib.request。(在python2.x中为urllib2) urlopen 我们先阅读以下代码: 实际上,如果我们在浏览器上打开百度主页,右键选择“查看源代
阅读全文