爬虫
一个非常正经的人
这个作者很懒,什么都没留下…
展开
-
爬虫(十)--增量爬虫,分布式,验证码,fiddler,自定义监控
一、增量爬虫增量爬虫:就是使爬虫获取到的数据以增量的形式稳定增长。增量爬虫的核心,就是去重。(一)方案1.爬虫结束在保存到数据库之前,查看数据是否重复,或者用update方法做更新操作。2.爬虫开始在爬取数据前,查看这个url是否被爬过。3.爬虫中间有时候在爬取一些网站的时候,可能得到了一些数据,但是这个网页的更新速度比较快,这时候我们可以查看这个网页是否有更新,如果更新了,响应...原创 2019-11-13 21:28:33 · 665 阅读 · 0 评论 -
爬虫(九)--scrapy框架
一、scrapy框架(一)安装pip install -i https://pypi.tuna.tsinghua.edu.cn/simple scrapy(二)步骤1.创建项目2.配置不遵循robot协议请求头3.编写想要获取的url,并测试启动命令scrapy crawl maoyan --nolog4.设置想要提取的字段5.实例化item对象6....原创 2019-11-13 21:23:25 · 586 阅读 · 0 评论 -
Redis数据库(二)--高级应用(事务,消息订阅,持久化,主从复制)
Redis高级应用一、Redis事务及乐观锁(一)事务Redis支持简单的事务Redis与mysql事务的对比MysqlRedis开启start transactionmuitl语句普通sql普通命令失败rollback 回滚discard 取消成功commitexec在mutil后面的语句中, 语句出错可能有2...原创 2019-11-08 21:26:06 · 144 阅读 · 0 评论 -
Redis数据库(一)--安装配置,基础知识,基础命令
一、Redis(一)安装及配置redis免安装,直接解压即可,然后将redis路径放入path环境变量配置服务redis-server --service-install redis.windows.conf --loglevel verbose --maxheap 200m启动服务(二)Redis基础知识客户端和服务器命令默认端口号:6379服务器命令:redis-s...原创 2019-11-07 21:24:53 · 249 阅读 · 0 评论 -
MongoDB数据库(一)--基本操作,增删改查,聚合操作,游标
MongoDB新建的默认有两个数据库admin–配置权限local–固定的重要数据一、基本操作查看数据库show dbs创建数据库(隐式创建)没有成功,需要两步还可以查看集合show tablesshow collections删除库和集合db.collectionName.drop() // 删除集合db.dropDatabase() //...原创 2019-11-06 20:42:18 · 1008 阅读 · 0 评论 -
MongoDB数据库(二)--索引,导入导出,复制集
一、MongoDB(一)索引索引提高查询速度,降低写入速度,权衡常用的查询字段,不必在太多列上建索引在mongodb中,索引可以按字段升序/降序来创建,便于排序默认是用btree来组织索引文件,2.4版本以后,也允许建立hash索引1.btree索引2.hash索引Hash检索效率非常高,索引的检索可以一次定位,不像B-Tree 索引需要从根节点到枝节点,最后才能访问到数据节...原创 2019-11-07 21:22:14 · 1510 阅读 · 0 评论 -
python中url的编码和解码(参数/字符串)
from urllib import parseparams = { 'keyword':'哈哈哈', 'a':1, 'b':2}params_1 = parse.urlencode(params)print(params_1)str = '·'str_1 = parse.quote(str)print(str_1)str_2 = parse.unquot...原创 2019-11-07 14:01:04 · 1242 阅读 · 0 评论 -
爬虫(八)--分页,项目改多线程,MongoDB
一、分页的两种方法(一)for循环这种方法的使用限制是,需要知道最大页码。for i in range(1,20): response = requests.get(url %i)(二)while True循环使用这种方法,需要限定跳出循环的边界。i = 0while True: json_str = get_conent(url.format(type_,i) ,heade...原创 2019-11-05 19:06:36 · 194 阅读 · 0 评论 -
爬虫(七)--程序,多进程,多线程
爬取网站的流程:确定网站哪个url是数据的来源简要分析网站结构,查看数据在哪里查看是否有分页,解决分页问题发送请求,查看response.text里面是否有我们想要的数据如果有数据,提取,保存如果没有,我们就可以通过以下两种方式来实现爬取分析数据来源,查看是否可以通过一些接口获取数据(首推)应该首先想到,数据可能是从ajax接口中获取的。分析接口的步骤...原创 2019-11-04 20:10:25 · 451 阅读 · 0 评论 -
爬虫(六)--selenium+phantomjs解决网页是js的数据获取
path环境变量的意义:让系统找到一些exe文件1.有python和anaconda,想使用anaconda,要怎么配置环境变量?(1)配置一下路径 C:\Anaconda3----python.exe C:\Anaconda3\Scripts----pip.exe(2)把这两个目录放在path环境变量的最前面,这样系统在找python和pip的时候会先找到anaconda下面的这个...原创 2019-11-02 15:00:11 · 1931 阅读 · 0 评论 -
爬虫(五)--xpath应用,反爬,动态页面处理
爬取网站的流程:确定网站哪个url是数据的来源简要分析网站结构,查看数据在哪里查看是否有分页,解决分页问题发送请求,查看response.text里面是否有我们想要的数据如果有数据,提取,保存注意事项:刚开始做爬虫项目,先不要用类做,只需要关注数据的来源等问题的解决,不要关注封装结构的处理一、xpath应用(一)扇贝单词项目import requests,refro...原创 2019-10-31 19:37:15 · 3303 阅读 · 0 评论 -
爬虫(四)--正则应用,xml,xpath
一、正则应用猫眼电影项目(封装)需求:爬取猫眼电影top100,并筛选出电影名、主演、上映时间、评分信息。1.取dl2.取dd3.取电影名4.取主演5.取上映时间6.取评分import requests,re,jsonclass Maoyan(): def __init__(self,url): self.url = url ...原创 2019-10-30 19:29:45 · 473 阅读 · 0 评论 -
爬虫(三)--cookie,session,爬虫登录,代理,数据,正则表达式
一、cookie和session(一)产生的缘由由于http是一个无状态的协议,每次请求如果需要之前请求的一些信息,就必须重新发送之前的请求。为了解决这种问题,产生了一种记录状态的技术–就是cookie和session。(二)作用cookie是在客户端记录状态,session是在服务端记录状态。在做爬虫的时候,如果要实现登录,只需要将浏览器中登录后的cookie信息封装到请求头中就可...原创 2019-10-29 20:36:03 · 337 阅读 · 0 评论 -
爬虫(二)--requests模块
一、requests模块(一)get请求1.步骤导包import requests确定请求的urlbase_url = ''发送请求,获取响应response = requests.get( url = base_url, headers = {}, # 请求头字典 params = {}, # 请求参数字典)2.response对象这...原创 2019-10-28 19:44:23 · 330 阅读 · 0 评论 -
爬虫(一)--基础
一、网络爬虫定义:一个程序脚本,可以自动地抓取互联网上信息的脚本。(一)爬虫可以解决的问题解决冷启动问题搜索引擎的根基,做搜索引擎少不了爬虫建立知识图谱,帮助建立机器学习知识图谱可以制作各种商品的比价软件、趋势分析(二)爬虫工程师的进阶之路初级爬虫工程师web 前端的知识: HTML、CSS、JavaSc1ipt、 DOM、 DHTML 、Ajax、jQuery、json ...原创 2019-10-27 20:07:22 · 636 阅读 · 0 评论