摘要: 本章动态网页爬虫的目标1.学会动态网页爬虫2.学会selenium库使用 什么是动态网页爬虫 1.动态网页 动态网页是网站在不重新加载的情况下,通过ajax技术动态更新网页中的局部数据。 2.AJAX(Asynchronous JavaScript And XML),即异步JavaScript和XM 阅读全文
posted @ 2021-04-27 22:00 马铃薯1 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 实战多线程下载王者荣耀高清壁纸1.网址:https://pvp.qq.com/web201605/wallpaper.shtml 2.查看网页源代码,发现腾讯将相关图片url信息转换成注释信息,猜测可能通过json动态添加,从Network找到存储高清壁纸文件(发现图片是用url编码的,需要用url 阅读全文
posted @ 2021-04-26 21:43 马铃薯1 阅读(175) 评论(0) 推荐(0) 编辑
摘要: Queue线程安全队列:在线程中,访问一些全局变量,加锁是一个经常的过程。如果你是想吧一些数据存储到某个队列中,那么python内置了一个线程安全的模块叫做queue模块。python中的queque模块中提供了同步的、线程安全的队列类,包括FIFO(先进先出)队列Queue,LIFO(后入先出)队 阅读全文
posted @ 2021-04-26 21:41 马铃薯1 阅读(176) 评论(0) 推荐(0) 编辑
摘要: 多线程的GIL锁 python自带的解释器是CPython。 CPython解释器的多线程实际上是一个假的多线程(在多核CPU中,只能利用一核,不能利用多核)。即同一时刻只有一个线程在执行,为了保证同一时刻只有一个线程在执行,在CPython解释器中有一个东西叫做GIL(Global Intepre 阅读全文
posted @ 2021-04-26 20:50 马铃薯1 阅读(70) 评论(0) 推荐(0) 编辑
摘要: Conditon版的生产者和消费者模式:Lock版的生产者和消费者模式可以正常的运行。但是存在一个不足,在消费者中,总是通过while True死循环并且上锁的方式去判断gMoney钱够不够。上锁是一个很耗费CPU资源的行为,因此这种方式不是最好的。还有一种更好的方式便是使用threading.Co 阅读全文
posted @ 2021-04-26 20:29 马铃薯1 阅读(76) 评论(0) 推荐(0) 编辑
摘要: Lock版的生产者和消费者模式:生产者和消费者模式是多线程开发中经常见到的一种模式。生产者的线程专门用来生产一些数据,然后存放到一个中间变量中。消费者再从这个中间的变量中取出数据进行消费。通过生产者和消费者模式,可以让代码达到高内聚低耦合的目标,程序分工更加明确,线程更加方便管理 # 生产者和消费者 阅读全文
posted @ 2021-04-26 20:02 马铃薯1 阅读(61) 评论(0) 推荐(0) 编辑
摘要: 多线程存在共享全局变量的问题: 多线程都是在同一个进程中运行的,因此在进程中的全局变量所有线程都是可共享的。 这就造成一个问题,因为线程执行的顺序时无序的,有可能会造成数据错误 以上结果正常的话,应该是10000000和20000000,但因为多线程运行的不确定性,因此最后的结果可能是随机的 扩展: 阅读全文
posted @ 2021-04-15 20:08 马铃薯1 阅读(232) 评论(0) 推荐(0) 编辑
摘要: 什么是多线程: 默认情况下,一个程序只有一个进程和一个线程,代码是依次线性执行的。而多线程则可以并发执行,一次性多个人做多件事,自然比单线程更快 用threading模块写一个多线程程序:threading模块是python中专门提供用来做多线程编程的模块。threading模块中最常用的类是Thr 阅读全文
posted @ 2021-04-15 19:18 马铃薯1 阅读(189) 评论(0) 推荐(0) 编辑
摘要: MySQL数据库安装 安装教程:https://blog.csdn.net/bobo553443/article/details/81383194 下载那个版本视自己的操作系统和项目要求,不同版本区别不大,建议安装5.6.或者5.7.稳定版本(这里我用的版本是5.7.33.0) Navicat fo 阅读全文
posted @ 2021-04-15 16:15 马铃薯1 阅读(127) 评论(0) 推荐(0) 编辑
摘要: 报错信息:ImportError: attempted relative import with no known parent package 出现这个错误的原因主要是由于使用了相对导入包的因素 解决方案: 1>进入setting配置界面 2> 进入Build,Execution,Deployme 阅读全文
posted @ 2021-04-02 13:32 马铃薯1 阅读(1094) 评论(0) 推荐(0) 编辑