Python

python爬虫 基于requests模块发起ajax的get请求实现解析

基于requests模块发起ajax的get请求需求:爬取豆瓣电影分类排行榜https://movie.douban.com/中的电影详情数据用抓包工具捉取使用ajax加载页面的请求鼠标往下下滚轮拖动页面,会加载更多的电影信息,这个局部刷新是当前页面发起的ajax请求,用抓包工具捉取页面刷新的ajax的get请求,捉取滚轮在最底部时候发起的请求这个get请求是本次发起的请求的urlajax的get请求携带参数获取响应内容不再是页面数据,是json字符串,是

系统 2019-09-27 17:53:20 2624

Python

python爬虫刷访问量 2019 7月

看着自己少得可怜的访问量,突然有一个想用爬虫刷访问量的想法,主要也是抱着尝试的心态,学习学习。其实市面上有一些软件可以代刷流量比如流量精灵,使用感确实比我们自己写的代码要好一些第一版:网上借鉴了一下以下代码运行在python3importurllib.requestimporttime#使用build_opener()是为了让python程序模仿浏览器进行访问opener=urllib.request.build_opener()opener.addhea

系统 2019-09-27 17:52:39 2624

Python

Python字典对象实现原理详解

字典类型是Python中最常用的数据类型之一,它是一个键值对的集合,字典通过键来索引,关联到相对的值,理论上它的查询复杂度是O(1):>>>d={'a':1,'b':2}>>>d['c']=3>>>d{'a':1,'b':2,'c':3}在字符串的实现原理文章中,曾经出现过字典对象用于intern操作,那么字典的内部结构是怎样的呢?PyDictObject对象就是dict的内部实现。哈希表(HASHTABLES)哈希表(也叫散列表),根据关键值对(Key-

系统 2019-09-27 17:52:17 2624

Python

centos7误删除python2.7导致的python和yum不可用处理

centos7误删除python2.7后导致yum不可用:问题截图解决方法:1、在opt目录下创建site_package/python3递归目录,然后下载以下RPM包,并存入/opt/site_package/python3目录中http://vault.centos.org/7.5.1804/os/x86_64/Packages/lvm2-python-libs-2.02.177-4.el7.x86_64.rpmhttp://vault.centos.

系统 2019-09-27 17:46:51 2624

Python

python中map()与zip()操作方法

对于map()它的原型是:map(function,sequence),就是对序列sequence中每个元素都执行函数function操作。比如之前的a,b,c=map(int,raw_input().split()),意思就是说把输入的a,b,c转化为整数。再比如:a=['1','2','3','4']printmap(list,a)printmap(int,a)第一个map是把列表a中每个元素转化为列表,第二个map是把a中每个元素转化为整数。而对于z

系统 2019-09-27 17:37:54 2624

编程技术

Lava-Lava Beta Build 1391

2007年10月12日00:22:00感谢情迷的投递Lava-Lava是一个简单有趣又高效实用的互联网通讯软件.它不仅具有传统即时聊天工具的所有功能还具有以下特点:在Lava-Lava中,您可以免费创建自己的部落,与您的好友及千万Lava-Lava用户一起分享.无论是志同道合的伙伴,还是臭味相投的损友,或者一起奋斗的同仁,甚

系统 2019-08-29 23:51:06 2624

编程技术

使用Google Font API

Google在5月20日宣布推出GoogleFontDirectory和GoogleFontAPI两项服务。在GoogleFontDirectory中,Google联合了众多的字体设计者为用户提供了多种漂亮的字体,但现在全部是英文字体,相信今后会有中文字体。GoogleFontAPI和GoogleFontDirectory是相辅相成的,用户正是通过GoogleFontAPI来使用GoogleFontDirectory中的字体。下面让我们看看如何使用Goog

系统 2019-08-29 23:03:18 2624

编程技术

基于Yii框架1.14的博客教程_测试CURD操作_第13节

2.2.4测试可以通过如下的链接来测试我们刚刚生成的代码功能。生成实现post和comment的curd操作的代码是完全互相独立的。所以,当创建一个新的文章或者评论,我们需要键入对于的信息,比如作者id和建立时间,每个应用都需要程序设置这些参数。别急,下一步会解决这些问题。1.请求这个链接http://www.example.com/blog/index.php?r=post;2.服务器执行入口脚本程序建立一个应用实例去捕获请求3.应用建立PostCont

系统 2019-08-29 22:50:06 2624

编程技术

内核源码学习:伙伴算法

1.原理Linux的伙伴算法把所有的空闲页面分为10个块组,每组中块的大小是2的幂次方个页面,例如,第0组中块的大小都为20(1个页面),第1组中块的大小为都为21(2个页面),第9组中块的大小都为29(512个页面)。也就是说,每一组中块的大小是相同的,且这同样大小的块形成一个链表。我们通过一个简单的例子来说明该算法的工作原理。假设要求分配的块其大小为128个页面(由多个页面组成的块我们就叫做页面块)。该算法先在块大小为128个页面的链表中查找,看是否有

系统 2019-08-29 22:34:48 2624

编程技术

理解ThreadLocal

概述我们知道Spring通过各种DAO模板类降低了开发者使用各种数据持久技术的难度。这些模板类都是线程安全的,也就是说,多个DAO可以复用同一个模板实例而不会发生冲突。我们使用模板类访问底层数据,根据持久化技术的不同,模板类需要绑定数据连接或会话的资源。但这些资源本身是非线程安全的,也就是说它们不能在同一时刻被多个线程共享。虽然模板类通过资源池获取数据连接或会话,但资源池本身解决的是数据连接或会话的缓存问题,并非数据连接或会话的线程安全问题。按照传统经验,

系统 2019-08-12 09:30:30 2624

Python

python的数据类型之字符串(一)

字符串(str)双引号或者单引号中的数据,就是字符串.注意事项1、反斜杠可以用来转义,使用r可以让反斜杠不发生转义。2、字符串可以用+运算符连接在一起,用*运算符重复。3、Python中的字符串有两种索引方式,从左往右以0开始,从右往左以-1开始。4、Python中的字符串不能改变“+”可以直接连接多个字符串“*”可以重复多个相同的字符串字符串的截取(切片)下标字符串的下标是从0开始的,列如字符串,"xiaose",x的下标则0,i的下标则为1,接下来的就

系统 2019-09-27 17:57:17 2623

Python

用python生成(动态彩色)二维码的方法(使用myqr库实现)

最近真的感觉到了python生态的强大(倒吸一口凉气)现在介绍一个可以生成动态二维码的库(myqr)效果如图:第一步要安装myqr库在cmd中直接用pip安装pipinstallmyqr第二步fromMyQRimportmyqrimportosversion,level,qr_name=myqr.run(words="https://www.baidu.com",#可以是字符串,也可以是网址(前面要加http(s)://)version=1,#设置容错率为

系统 2019-09-27 17:57:03 2623

Python

Python爬虫初体验(3):线程锁,线程同步与异常问题的解决

前情提要:Python爬虫初体验(2):多线程的应用及爬取中的实际问题从来没想过,写一个功能较为完备的爬虫代码,要花好几天的时间……这次算是增长了许多编程经验。好的废话不多说,进入正题上次的代码中,由于部分XKCD漫画有特殊格式(还有404彩蛋),而我的代码中try-except结构只处理了连接超时的问题,没有对漫画本身的格式变化进行处理,导致线程意外中断。虽然最后写了重试下载,但是它和上面的一样,有个致命问题:如果是漫画格式的问题,它会陷入无限死循环。所

系统 2019-09-27 17:53:24 2623

Python

Centos 7.4 多版本 Python 以及虚拟环境安装

前言本人前端不太懂Centos上面的东西,这两天在搞阿里云的Ecs在上面安装Python环境,刚开始直接在官网下载了源码包编译安装了Python3.7.4。但其实部署项目的时候大多会涉及到多项目以及Python的版本、环境不同,所以可以多版本Python+虚拟环境。0.Pyenv安装篇需要先安装依赖:yum-yinstallgitgccmakepatchzlib-develgdbm-developenssl-develsqlite-develbzip2-d

系统 2019-09-27 17:49:38 2623

Python

在Python中处理字符串之ljust()方法的使用简介

ljust()方法返回字符串左对齐的字符串长度宽度。填充是通过使用指定的fillchar(默认为空格)。如果宽度小于len(s)返回原始字符串。语法以下是ljust()方法的语法:str.ljust(width[,fillchar])参数width--这是填充后字符串的总长度。fillchar--这是填充符,默认为空格。返回值此方法返回字符串左对齐的字符串的长度宽度。填充是通过使用指定fillchar(默认为空格)。如果宽度小于len(s),返回原始字符串

系统 2019-09-27 17:47:12 2623