
爬虫
littler_monkey1223
你以为我不会走,我以为你会挽留!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
python爬虫系列(五):多线程实例
相信大家经过前几篇博客的浏览已经对爬虫不算是陌生了,那今天博主来说说多线程的使用吧。就是因为GPL这个家伙,人们把python中的多线程视为鸡肋。但是就是这样的鸡肋在爬虫中是非常有必要的。原因在这里就不阐述了。(密集I/o操作的程序中,这个鸡肋还是很香的呢!)下面通过一个具体的事例来介绍多线爬虫。话不多说,直接上代码。from urllib import request import queue f原创 2017-09-22 22:44:17 · 1103 阅读 · 0 评论 -
python爬虫系列(六):强大的beautifulsoup
(一)简介和安装beautifulsoup 是一个可以从HTML或者XML文件中提取数据的python库。他能通过你喜欢的转换器实现文档的导航,查找的方式。 安装:在新版的Debain 或ubuntu直接通过–>apt-get install python-bs4 还可以pip insatall bs4 因为第三方lxml 比python标准库的HTML解析起来原创 2017-09-23 22:26:18 · 707 阅读 · 0 评论 -
python爬虫系列(七):XPath的使用
(一)简介与安装 之前我们了解了bs4 处理HTML文档,今天来看看另一种方式,就是lxml,也就是XPath类库。我们可以先将HTML文件转换为XML文档,然后用Xpath查找自己想要的内容的所在节点就可以了。那么XML被设计为传输和存储数据,焦点是数据的内容,而页面HTML则是显示数据以及更好的显示数据。 安装很简答,用我们的老朋友pip 进行安装即可。pip install lxml,而原创 2017-09-24 21:01:23 · 7004 阅读 · 0 评论 -
python爬虫系列(一):爬虫简介
一 什么是爬虫 爬虫:就是抓取网页数据的程序。二、爬虫怎么抓取网页数据: 网页三大特征: -1. 网页都有自己唯一的URL(统一资源定位符)来进行定位 -2. 网页都使用HTML (超文本标记语言)来描述页面信息。 -3. 网页都使用HTTP/HTTPS(超文本传输协议)协议来传输HTML数据。 爬虫的设计思路: -1. 首先确定需要爬取的网页URL地址。 -2. 通过HTTP/HT原创 2017-09-19 18:06:43 · 3422 阅读 · 1 评论 -
各大浏览器内核的爱恨缠绵的故事
User-Agent 历史故事: 爬虫你肯定少不了的User-Agent的代理。那有没有兴趣了解一下他们的前世今生呢? Mosaic 世界上第一个浏览器:美国国家计算机应用中心,是浏览器的鼻祖。后来,Netscape 网景:Netscape(支持框架),慢慢开始流行….(第一款支持框架的浏览器)。慢慢的Microsoft 微软:Internet Explorer(也支持框架),这原创 2017-09-19 17:47:29 · 1941 阅读 · 0 评论 -
python爬虫系列(二):标准库的使用(A)
(一)Py2和Py3中的基本库使用的区分Urllib库是python中的一个功能强大的,用于操作URL。python2和python3中用法基本相同,但是。python2中分为urllib和urllib2库。下面列出常见的变化有: 1.python2.x使用import urllib2-->python3.x使用import urllib.request, urllib.error 2.pytho原创 2017-09-19 22:53:04 · 2532 阅读 · 0 评论 -
python爬虫系列(三):第三方库requests 的使用
(一)requests的安装1 如果你的机器上安装了anaconda了的话,可以选择conda install requests 安装。假如你对anaconda 不熟悉的话可以前往 http://blog.youkuaiyun.com/little_monkey1223/article/details/77170727 了解,这篇文章关于如何使用第三方库管理工具anaconda描述的很详细。 2原创 2017-09-20 21:37:37 · 2247 阅读 · 0 评论 -
python爬虫系列(四):请求伪装的做法
(一):Handler 处理器和自定义的Opener之前我们,一直使用的是request.urlopen去获取响应信息。如果想要添加代理的话,cookie等其他的http/https高级的功能。我们需要自己去实现一体opener: 1.使用相关的Handler处理器来创建特定功能的处理器对象。 2.然后通过request.build_opener()去定义 3.使用自定原创 2017-09-21 22:52:38 · 2559 阅读 · 0 评论