摘要:
一.存储数据库 1.问题: 当保存指定字段存入数据库的时候,如果仔细查看数据库会发现,主键id是不连续的值,即使设置了失败后事务回滚,也无济于事 也就是说,不管数据是否插入成功,id都会自增1 原因: innodb的自增是缓存在内存字典中的,分配方式是先预留,然后再插入的。所以插入失败不会回滚内存字 阅读全文
摘要:
Scrapy-Redis分布式策略 原理图: 假设有四台电脑:Windows 10、Mac OS X、Ubuntu 16.04、CentOS 7.2,任意一台电脑都可以作为 Master端 或 Slaver端,比如: Master端(核心服务器) :使用 Windows 10,搭建一个Redis数据 阅读全文
摘要:
Scrapy--CrawlSpider Scrapy框架中分两类爬虫,Spider类和CrawlSpider类。 此案例采用的是CrawlSpider类实现爬虫。 它是Spider的派生类,Spider类的设计原则是只爬取start_url列表中的网页,而CrawlSpider类定义了一些规则(ru 阅读全文
摘要:
Selenium Selenium是一个Web的自动化测试工具,最初是为网站自动化测试而开发的,类型像我们玩游戏用的按键精灵,可以按指定的命令自动操作,不同是Selenium 可以直接运行在浏览器上,它支持所有主流的浏览器(包括PhantomJS这些无界面的浏览器)。 Selenium 可以根据我们 阅读全文
摘要:
XPath (XML Path Language) 是一门在 XML 文档中查找信息的语言,可用来在 XML 文档中对元素和属性进行遍历。 W3School官方文档 开发工具 开源的XPath表达式编辑工具:XMLQuire(XML格式文件可用) Chrome插件 XPath Helper Fire 阅读全文
摘要:
BeautifulSoup4 官方文档 是一个Python库,用于从HTML和XML文件中提取数据。它与您最喜欢的解析器一起使用,提供导航,搜索和修改解析树的惯用方法。它通常可以节省程序员数小时或数天的工作量。 1.安装BeautifulSoup4 2.详细操作 3.注意:运行报错 解决:安装 lx 阅读全文
摘要:
多进程VS多线程 功能: 进程:能够完成多任务,比如,同时运行多个QQ 线程:能够完成多任务,比如一个QQ中的多个聊天窗口 定义 进程:系统进行资源分配和测试的一个独立单位,线程自己基本上不拥有系统资源,但是他可以与同属于一个进程的其他线程共享所拥有的全部资源 线程:进程的一个实体,是CPU调用和分 阅读全文
摘要:
一.生产者和消费者模式 什么是生产者消费者模式 生产者消费者模式是通过一个容器来解决生产者和消费者的强耦合问题。生产者和消费者彼此之间不直接通讯,而通过阻塞队列来进行通讯, 所以生产者生产完数据之后不用等待消费者处理,直接扔给阻塞队列,消费者不找生产者要数据,而是直接从阻塞队列里取,阻塞队列就相当 阅读全文
摘要:
协程 又称微线程,纤程。 它是比线程更小的执行单元,因为它自带CPU上下文。这样只要在合适的时机,我们可以把一个协程切换到另一个协程当中。 只要这个过程保存或恢复CPU上下文,那么程序就可以运行。 通俗的理解:在一个线程中的某个函数,可以在任何地方保存当前函数的一些临时变量等信息,然后切换到另外一个 阅读全文
摘要:
多线程 线程拥有自己独立的栈和共享的堆,共享堆,不共享栈,线程亦由操作系统调度(标准线程是的)。 thread在python3中被废弃了 python3中threading代替thread模块 为了兼容性 python3将thread改名为 “_thread” python的标准库提供了两个模块 , 阅读全文