
爬虫
海是倒过来的天long
这个作者很懒,什么都没留下…
展开
-
Python爬虫(十一)
settings.py常用变量# 1、设置日志级别LOG_LEVEL = "" DEBUG--<INFO--<WARNING--<ERROR--<CRITITAL# 2、保存到日志文件(不在终端输出)LOG_FILE = "XXX.log"# 3、设置数据导出编码(主要针对于json文件)FEED_EXPORT_ENCODING = "UTF-8"# 4、非结...原创 2019-10-29 19:18:44 · 164 阅读 · 0 评论 -
Python爬虫(十)
五大组件引擎(Engine)爬虫程序(Spider)调度器(Scheduler)下载器(Downloader)管道文件(Pipeline)# 两个中间件下载器中间件(Downloader Middlewares)蜘蛛中间件(Spider Middlewares)工作流程1、Engine向Spider索要URL,交给Scheduler入队列2、Scheduler处理后...原创 2019-10-29 19:17:14 · 460 阅读 · 0 评论 -
Python爬虫(九)
scrapy框架定义异步处理框架,可配置和可扩展程度非常高,Python中使用最广泛的爬虫框架安装# Ubuntu安装1、安装依赖包 1、sudo apt-get install libffi-dev 2、sudo apt-get install libssl-dev 3、sudo apt-get install libxml2-dev 4、sudo apt-get i...原创 2019-10-29 19:15:24 · 281 阅读 · 0 评论 -
Python爬虫(八)
三个池子1、User-Agent池2、代理IP池3、cookie池selenium+phantomjs/chrome/firefox特点1、简单,无需去详细抓取分析网络数据包,使用真实浏览器2、需要等待页面元素加载,需要时间,效率低安装1、下载、解压2、添加到系统环境变量 # windows: 拷贝到Python安装目录的Scripts目录中 # Lin...原创 2019-10-29 19:13:42 · 2853 阅读 · 0 评论 -
Python爬虫(七)
多线程爬虫思路1、将待爬取的URL地址存放到队列中2、多个线程从队列中获取地址,进行数据抓取3、注意获取地址过程中程序阻塞问题 while True: if not q.empty(): url = q.get() ... ... else: break 将抓取数据保存到同一文件# 注意多线程...原创 2019-10-28 20:54:33 · 407 阅读 · 0 评论 -
Python爬虫(六)
增量爬取思路1、将爬取过的地址存放到数据库中2、程序爬取时先到数据库中查询比对,如果已经爬过则不会继续爬取动态加载网站数据抓取1、F12打开控制台,页面动作抓取网络数据包2、抓取json文件URL地址# 控制台中 XHR :异步加载的数据包# XHR -> Query String Parameters(查询参数)数据抓取最终梳理# 响应内容中存在1、确认抓取数据在响...原创 2019-10-28 20:52:28 · 1523 阅读 · 0 评论 -
Python爬虫(五)
常见的反爬机制及处理方式1、Headers反爬虫 :Cookie、Referer、User-Agent 解决方案: 通过F12获取headers,传给requests.get()方法 2、IP限制 :网站根据IP地址访问频率进行反爬,短时间内限制IP访问 解决方案: 1、构造自己IP代理池,每次访问随机选择代理,经常更新代理池 2、...原创 2019-10-16 20:02:29 · 352 阅读 · 0 评论 -
Spider爬虫(二)
请求模块(urllib.request)req = request.Request(url,headers=headers)res = request.urlopen(req)html = res.read().decode('utf-8')抓取步骤1、确定所抓取数据在响应中是否存在(右键 - 查看网页源码 - 搜索关键字)2、数据存在: 查看URL地址规律3、写正则表达式,来匹配...原创 2019-10-14 19:24:10 · 511 阅读 · 0 评论 -
Spider爬虫(四)
目前反爬总结基于User-Agent反爬1、发送请求携带请求头: headers={'User-Agent' : 'Mozilla/5.0 xxxxxx'}2、多个请求随机切换User-Agent 1、定义列表存放大量User-Agent,使用random.choice()每次随机选择 2、定义py文件存放大量User-Agent,使用random.choice()每次随机选...原创 2019-10-14 19:38:09 · 277 阅读 · 0 评论 -
Spider爬虫(一)
网络爬虫概述定义网络蜘蛛、网络机器人,抓取网络数据的程序其实就是用Python程序模仿人点击浏览器并访问网站,而且模仿的越像越好,让Web站点无法发现你不是人爬取数据目的1、公司项目测试数据2、公司业务部门及其他部门所需数据3、数据分析企业获取数据方式1、公司自有数据2、第三方数据平台购买(数据堂、贵阳大数据交易所)3、爬虫爬取数据Pyth...原创 2019-10-14 19:07:20 · 371 阅读 · 0 评论