爬虫
Y.Tao
这个作者很懒,什么都没留下…
展开
-
python爬虫学习记录——各种软件/库的安装
Ubuntu18.04安装python3-pip1、apt-get update更新源2,ubuntu18.04默认安装了python3,但是pip没有安装,安装命令:apt install python3-pip(apt install python-pip安装的是python2b版本的pip)安装mongodb:apt-get install mongodb.执行mongo...转载 2018-12-26 13:42:35 · 154 阅读 · 0 评论 -
REQUESTS库的文档高级用法
高级用法本篇文档涵盖了 Requests 的一些高级特性。会话对象会话对象让你能够跨请求保持某些参数。它也会在同一个 Session 实例发出的所有请求之间保持 cookie, 期间使用 urllib3 的 connection pooling 功能。所以如果你向同一主机发送多个请求,底层的 TCP 连接将会被重用,从而带来显著的性能提升。 (参见 HTTP persistent co...转载 2018-12-27 16:11:03 · 208 阅读 · 0 评论 -
使用Redis+Flask维护动态代理池
1.为什么使用代理池许多⽹网站有专⻔门的反爬⾍虫措施,可能遇到封IP等问题。 互联⽹网上公开了了⼤大量量免费代理理,利利⽤用好资源。 通过定时的检测维护同样可以得到多个可⽤用代理理。2.代理池的要求 多站抓取, 异步检测定时筛选, 持续更新提供接口, 易于提取3.代理池架构4.github上下载代理池维护的代码https://github.com/Germey/Pr...转载 2018-12-27 16:11:21 · 1024 阅读 · 0 评论 -
使用redis+flask维护动态代理池
在进行网络爬虫时,会经常有封ip的现象。可以使用代理池来进行代理ip的处理。代理池的要求:多站抓取,异步检测。定时筛选,持续更新。提供接口,易于提取。代理池架构:获取器,过滤器,代理队列,定时检测。使用https://github.com/Germey/ProxyPool/tree/master/proxypool代码进行分析。run.py里面的代码from proxyp...转载 2018-12-27 16:11:58 · 182 阅读 · 0 评论 -
使用redis所维护的代理池抓取微信文章
搜狗搜索可以直接搜索微信文章,本次就是利用搜狗搜搜出微信文章,获得详细的文章url来得到文章的信息.并把我们感兴趣的内容存入到mongodb中。因为搜狗搜索微信文章的反爬虫比较强,经常封IP,所以要在封了IP之后切换IP,这里用到github上的一个开源类,当运行这个类时,就会动态的在redis中维护一个ip池,并通过flask映射到网页中,可以通过访问 localhost:5000/get/...转载 2018-12-27 16:12:22 · 157 阅读 · 0 评论 -
pyspider爬取tripadvisor
首先装pymongo,pyspider,具体安装方法不讲解,然后命令行下执行pyspider all这句命令的意思是,运行 pyspider 并 启动它的所有组件。可以发现程序已经正常启动,并在 5000 这个端口运行。 下来在浏览器中输入 http://localhost:5000,可以看到 PySpider 的主界面,点击右下角的 Create,命名为 pyshide...转载 2018-12-27 16:12:41 · 214 阅读 · 0 评论 -
初试scrapy
需求:抓取http://quotes.toscrape.com/中quote,author,tags,保存到MongoDB中环境:pycharmscrapy流程图: 1,建立工程scrapy startproject toscrapy2.创建spider cd toscrapy scrapy genspider quotes quotes.toscrape...转载 2018-12-27 16:13:03 · 118 阅读 · 0 评论 -
新浪微博爬虫项目
利用scrapy、proxy_pool、cookie_pool抓取新浪微博:用户信息、关注列表、粉丝列表、微博内容,信息保存至MongoDB。以几个大V为起点,爬取个人信息、粉丝、关注、微博信息,然后继续获取这些粉丝和关注的个人信息、粉丝、关注、微博信息,以此类推,实现递归爬取。1、 spider.py:请求网页,反爬:pc端困难,数据是ajax请求,containerid参数,解决:...转载 2018-12-27 16:13:24 · 510 阅读 · 0 评论 -
利用 Scrapy 爬取知乎用户信息
思路:通过获取知乎某个大V的关注列表和被关注列表,查看该大V和其关注用户和被关注用户的详细信息,然后通过层层递归调用,实现获取关注用户和被关注用户的关注列表和被关注列表,最终实现获取大量用户信息。 一、新建一个scrapy项目 scrapy startproject zhihuuser 移动到新建目录下:cd zhihuuser 新建spider项目:scr...转载 2018-12-27 16:13:40 · 258 阅读 · 0 评论 -
Selenium 抓取淘宝商品美食信息
在使用python进行数据爬取的时候,我们发现ajax请求比较繁琐,那么有什么好的办法可以解决呢?就是使用selenium自动化工具,模拟输入点击,这样我们就可以不需要知道ajax的请求链接,从而可以直接通过类似人工的操作来模拟,从而可以获取网页数据。我们来举个例子。 淘宝的首页,我们打开发现没有商品数据的信息,而他的数据都是通过ajax请求获取的,那么我们使用ajax请求这种方法来获取数据...转载 2018-12-27 16:10:46 · 261 阅读 · 0 评论 -
分析Ajax请求并抓取今日头条街拍美图
通常我们从网页上爬取内容时,都是HTML代码,内容都已经写好了,直接从页面获取想要的信息即可,但是有的网页是通过ajax获取的数据,将ajax获取的数据通过json格式接受,然后展示在页面上的,也就是说,当我们打开一个页面时,首先请求的是他的html,然后HTML里面通过ajax获取后端数据,将数据以json格式展示在页面上。而近日头条就是这样。下面我们来看看。 我们打开链接:https:/...转载 2018-12-26 13:57:00 · 252 阅读 · 0 评论 -
python爬虫从入门到放弃(九)之 Requests+正则表达式爬取猫眼电影TOP100
import requestsfrom requests.exceptions import RequestExceptionimport reimport jsonfrom multiprocessing import Pooldef get_one_page(url): headers={'User-Agent': 'Mozilla/5.0 (Windows NT 10....原创 2018-12-26 13:44:43 · 268 阅读 · 0 评论 -
selenium+pyquery爬取淘宝美食100页(无头静默模式)
import refrom selenium import webdriverfrom selenium.webdriver.common.by import Byfrom selenium.webdriver.support.ui import WebDriverWaitfrom selenium.webdriver.support import expected_conditions...原创 2018-12-26 13:45:48 · 204 阅读 · 0 评论 -
python爬虫从入门到放弃(二)之爬虫的原理
在上文中我们说了:爬虫就是请求网站并提取数据的自动化程序。其中请求,提取,自动化是爬虫的关键!下面我们分析爬虫的基本流程爬虫的基本流程发起请求通过HTTP库向目标站点发起请求,也就是发送一个Request,请求可以包含额外的header等信息,等待服务器响应获取响应内容如果服务器能正常响应,会得到一个Response,Response的内容便是所要获取的页面内容,类型可能是HTML...转载 2018-12-26 13:50:46 · 139 阅读 · 0 评论 -
python爬虫从入门到放弃(三)之 Urllib库的基本使用
官方文档地址:https://docs.python.org/3/library/urllib.html什么是UrllibUrllib是python内置的HTTP请求库包括以下模块urllib.request 请求模块urllib.error 异常处理模块urllib.parse url解析模块urllib.robotparser robots.txt解析模块urlopen...转载 2018-12-26 13:51:45 · 210 阅读 · 0 评论 -
python爬虫从入门到放弃(四)之 Requests库的基本使用
什么是RequestsRequests是用python语言基于urllib编写的,采用的是Apache2 Licensed开源协议的HTTP库如果你看过上篇文章关于urllib库的使用,你会发现,其实urllib还是非常不方便的,而Requests它会比urllib更加方便,可以节约我们大量的工作。(用了requests之后,你基本都不愿意用urllib了)一句话,requests是pyth...转载 2018-12-26 13:52:44 · 377 阅读 · 1 评论 -
python爬虫从入门到放弃(五)之 正则的基本使用
什么是正则表达式正则表达式是对字符串操作的一种逻辑公式,就是 事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符”,这个“规则字符” 来表达对字符的一种过滤逻辑。正则并不是python独有的,其他语言也都有正则python中的正则,封装了re模块python正则的详细讲解常用的匹配模式\w 匹配字母数字及下划线\W 匹配f非字母数...转载 2018-12-26 13:54:21 · 166 阅读 · 0 评论 -
python爬虫从入门到放弃(六)之 BeautifulSoup库的使用
上一篇文章的正则,其实对很多人来说用起来是不方便的,加上需要记很多规则,所以用起来不是特别熟练,而这节我们提到的beautifulsoup就是一个非常强大的工具,爬虫利器。beautifulSoup “美味的汤,绿色的浓汤”一个灵活又方便的网页解析库,处理高效,支持多种解析器。利用它就不用编写正则表达式也能方便的实现网页信息的抓取快速使用通过下面的一个例子,对bs4有个简单的了解...转载 2018-12-26 13:55:14 · 117 阅读 · 0 评论 -
python爬虫从入门到放弃(七)之 PyQuery库的使用
PyQuery库也是一个非常强大又灵活的网页解析库,如果你有前端开发经验的,都应该接触过jQuery,那么PyQuery就是你非常绝佳的选择,PyQuery 是 Python 仿照 jQuery 的严格实现。语法与 jQuery 几乎完全相同,所以不用再去费心去记一些奇怪的方法了。官网地址:http://pyquery.readthedocs.io/en/latest/jQuery参考文档:...转载 2018-12-26 13:56:02 · 148 阅读 · 0 评论 -
python爬虫入门(四)利用多线程爬虫
多线程爬虫 先回顾前面学过的一些知识1.一个cpu一次只能执行一个任务,多个cpu同时可以执行多个任务2.一个cpu一次只能执行一个进程,其它进程处于非运行状态3.进程里包含的执行单元叫线程,一个进程可以包含多个线程4.一个进程的内存空间是共享的,每个进程里的线程都可以使用这个共享空间5.一个线程在使用这个共享空间的时候,其它的线程必须等待(阻塞状态)6.互斥锁作用就是防止多个...转载 2018-12-27 16:14:00 · 205 阅读 · 0 评论