Python等等
文章平均质量分 69
与其说是教程不如说是笔记
带翅膀的猫
天天写BUG的软件开发工程师~
展开
-
传奇人物张三的爱情困境
使用Python爬取情话数据,使用Win32发送QQ消息,你将学会定时任务和Win32的知识。原创 2020-12-23 19:31:53 · 2602 阅读 · 0 评论 -
(廿九)Python爬虫:IP代理池的开发
通过本文您可以了解IP代理池的意义,同时本文详细讲解了开发IP代理池的过程,阅读后您可以自己实现自己的IP代理池。原创 2018-09-21 00:45:18 · 5709 阅读 · 0 评论 -
(廿八)Python爬虫:使用Selenium爬取淘宝商品信息
上文学习了Selenium,本文使用它爬取淘宝搜索到的商品信息,并且将数据存储在MongoDB中。爬取步骤1、进入淘宝首页,获取输入框和搜索按钮browser = webdriver.Chrome()wait = WebDriverWait(browser,10)def search(keyword): try: browser.get('...原创 2018-09-12 21:00:09 · 5029 阅读 · 0 评论 -
(廿七)Python爬虫:Selenium使用
      Selenium是一个自动化测试工具,使用它可以驱动浏览器完成特定的动作(点击,滚动等),同时它可以获取网页源代码,做到可见及可爬。对于一些由AJAX加载的加密数据它也能很好的完成。相关安装Selenium的安装 &原创 2018-09-10 10:43:25 · 4095 阅读 · 0 评论 -
(廿六)Python逼格:用 Python 发一个高逼格的朋友圈
分享一个非常骚气的发朋友圈姿势效果如下利用今天教给大家的 python 脚本,把一张图重新分隔成 9 张。上传到朋友圈,最后就会形成上面的效果。可能有些人在朋友圈有看过类似的消息,也知道某些软件可以做到这样的效果。但如果你自己利用 python 来实现,那种成就感是非常不一样的。所以今天我就手把手教大家如何利用 python 发一个高逼格的朋友圈。程序思路此次程序主要是利用 PIL(Pyt...转载 2018-09-08 20:31:54 · 4234 阅读 · 0 评论 -
(廿五)Python爬虫:抓取今日头条图片
此次完成抓取今日头条动漫图片,并将图片保存在本地。最后结果如下: 分析打开今日头条首页搜索“动漫”,查看源代码我们会发现只包含少量的HTML,所以可以判断页面是AJAX加载的。打开开发者工具查看AJAX请求: 可以发现首次加载时的接口为:https://www.toutiao.com/search_content/?offset=0&format=json&...原创 2018-09-05 21:48:28 · 5912 阅读 · 5 评论 -
(廿四)Python爬虫:爬取微博并使用MongoDB存储
必知首先我们需要切记的是我们需要爬取的微博地址为:https://m.weibo.cn。不是https://weibo.com/。因为前者的数据时通过AJAX加载的,有利于我们的抓取,后者难度大,本人找了半天也找不到接口。 本次我们爬取演员张一山的微博。操作打开开发者工具,刷新爬取页面,由于微博数据是通过AJAX请求获取的,所以选择XHR 只查看AJAX请求。 依次点击...原创 2018-09-04 23:53:27 · 5134 阅读 · 0 评论 -
(廿三)Python:Redis存储
      Redis是一个基于内存的高效的(读的速度是110000次/s,写的速度是81000次/s)键值型非关系型数据库,存取效率极高,支持多种存储数据结构。Redis支持数据的备份,即master-slave模式的数据备份。准备&原创 2018-09-04 14:23:08 · 6735 阅读 · 0 评论 -
(廿二)Python:MongoDB存储
大部分情况下爬取的数据特别灵活,不一定只有指定的几个字段数据,这时候就需要将数据存储在非关系型数据库中了,MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统。在高负载的情况下,添加更多的节点,可以保证服务器性能。MongoDB 旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成。M...原创 2018-08-31 16:02:19 · 3920 阅读 · 0 评论 -
(廿一)Python:MySql存储
       我们将爬虫抓取的数据获取到后应该将它存储在数据库中供后续的数据分析等操作。现在介绍Python将数据存储在MySql数据库中。连接数据库       Py原创 2018-08-28 15:41:40 · 4089 阅读 · 0 评论 -
(廿)Python爬虫:pyquery的使用
      pyquery允许您在xml文档上进行jquery查询。 API尽可能与jquery类似。 pyquery使用lxml快速操作xml和html。直接使用pip3 install pyquery安装即可。加载HTML &am原创 2018-08-27 10:29:12 · 4494 阅读 · 0 评论 -
(十九)Python爬虫:Beautiful Soup的使用
      Beautiful Soup 是一个可以从HTML或XML文件中提取数据的Python库.它能够通过你喜欢的转换器实现惯用的文档导航,查找,修改文档的方式.Beautiful Soup安装pip安装:现在Beautiful Soup版本为4.x,建议使用最新版,3.x已经停止开发了。使用命令pip3 install ...原创 2018-08-24 20:05:21 · 23047 阅读 · 3 评论 -
(十八)Python爬虫:XPath的使用
      经历了爬取豆瓣电影TOP250数据我们会发现使用正则表达式其实并没有多么方便,有没有更加好的工具呢?答案当然是有的。接下来将使用三个篇幅分别介绍XPath,Beautiful Soup和pyquery原创 2018-08-22 22:28:31 · 68125 阅读 · 29 评论 -
深刻理解Python中的元类(metaclass)
注:这是一篇在Stack overflow上很热的帖子。提问者自称已经掌握了有关Python OOP编程中的各种概念,但始终觉得元类(metaclass)难以理解。他知道这肯定和自省有关,但仍然觉得不太明白,希望大家可以给出一些实际的例子和代码片段以帮助理解,以及在什么情况下需要进行元编程。于是e-satis同学给出了神一般的回复,该回复获得了985点的赞同点数,更有人评论说这段回复应该加入到Py...转载 2018-08-19 21:30:19 · 3968 阅读 · 2 评论 -
(六)Python查询12306余票:升级版-----图形化界面代码
上一篇–>添加票价信息 实现效果: 主要代码观看12306.py:from tkinter import *import reimport tkinter.messagebox as messageboxfrom tkinter import ttkimport timefrom Resources import infofrom tkinter.ttk impor原创 2018-01-04 19:04:10 · 5555 阅读 · 6 评论 -
(五)Python查询12306余票:添加票价信息
前一篇–>docopt实现参数的输入—–查询任意时间任意车站余票票价的查询根据前面result的解析是无法获取的,票价需要另外发送请求获取。 请求链接: https://kyfw.12306.cn/otn/leftTicket/queryTicketPrice?train_no=88000K131008&from_station_no=12&to_station_no=27&seat_t原创 2018-01-03 20:17:44 · 5905 阅读 · 3 评论 -
(四)Python查询12306余票:docopt实现参数的输入-----查询任意时间任意车站余票
前一篇–>漂亮的输出—–prettytable和colorama的使用 在前面的文章中我们能实现很漂亮的输出了,可是只是固定时间固定车站之间的车票信息,在本次中我们使用docopt来实现命令行的参数输入,从而查询任意时间任意两个车站的余票。 环境安装:pip install docopt使用docopt实现命令行的输入:"""Train tickets query via comma原创 2018-01-03 19:01:14 · 4636 阅读 · 0 评论 -
(三)Python查询12306余票:漂亮的输出-----prettytable和colorama的使用
前一篇–>联网查询余票信息并解析 在前面的代码中我们已经实现了对result结果的解析,并且能把车票信息打印出来了。可是输出的格式很不好控制,这时我们需要使用prettytable来实现将车票信息放在表格中,更加的规整,美观。 环境安装:pip install prettytable实现打印车票函数:from prettytable import PrettyTable#显示查询结果原创 2018-01-03 18:34:00 · 9974 阅读 · 6 评论 -
(二)、Python查询12306余票:联网查询余票信息并解析
前一篇–>实现始发站、终点站和出发日期的合法性检验首先我们来看看每查询一条信息12306网站返回的信息: 请求链接: https://kyfw.12306.cn/otn/leftTicket/queryO?leftTicketDTO.train_date=2018-01-31&leftTicketDTO.from_station=XAY&leftTicketDTO.to_station=GZG&原创 2018-01-02 22:24:42 · 6262 阅读 · 6 评论 -
(一)Python查询12306余票:实现始发站、终点站和出发日期的合法性检验
项目介绍首页1、创建字典info存放查询信息(始发站、终点站、出发日期):info = { 'from_station': '', 'to_station': '', 'from_date': ''}2、实现检查查询信息的函数: 设计思路:输入的站点是不是在全国现有车站中;输入的始发站和终点站必须不同;输入日期必须在15天内。在此方法中出现的station*在st原创 2018-01-02 22:28:39 · 5613 阅读 · 0 评论 -
项目:用Python查询12306余票
项目最终效果: 成功查询出2018-01-10西安至北京的所有列车。该项目环境安装: - Python3.6.4环境 ; - pip install requests; - pip install prettytable; - pip install colorama; - pip install docopt.1、实现始发站、终点站和出发日期的合法性检验2、原创 2018-01-03 09:43:31 · 4826 阅读 · 1 评论 -
(十七)Python爬虫:爬取豆瓣电影TOP250
爬取目标:豆瓣电影TOP250,并且存入csv文件中 爬取内容: 首页请求地址:https://movie.douban.com/top250?start=0&filter= 多查看几页的请求地址我们可以发现以下规律: 1、每页显示25条内容,共10页; 2、每页的请求地址只改变start的值,第一页为0,第二页为25,第三页为50,所以第n页为(n-1)*25...原创 2018-08-16 16:11:22 · 6194 阅读 · 1 评论 -
(十六)Python爬虫基础库:requests
      使用urllib有许多麻烦的地方,我们可以选择requests库模拟浏览器发送请求。首先我们需要额外安装requests库,使用命令:pip3 install requests。高度赞扬requests。GET&am原创 2018-08-14 15:10:33 · 5529 阅读 · 3 评论 -
(十五)Python爬虫基础库:urllib
      从今天起开始进入爬虫的世界。网络爬虫这张东西相比都了解能干嘛,我第一次知道时感觉特别棒,希望自己能写一个,不管功能强大与否。Python语言就是写爬虫的原创 2018-08-12 16:21:51 · 4887 阅读 · 0 评论 -
(十四)Python:正则表达式
正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。 Python提供了re模块,它支持Perl风...原创 2018-08-07 17:23:48 · 3930 阅读 · 0 评论 -
(十三)Python:异常处理
有过JAVA语言的学习经验都知道程序即使没有语法错误,但是运行过程中还是会有些“毛病”,这些毛病我们称其为异常。 捕获异常基本语法规则:try: #可能会产生异常的语句块except 异常类型: #捕获异常后的处理示例代码:try: a=1/0 print("异常产生之后的代码")except ZeroDivisionError: ...原创 2018-08-03 21:49:24 · 3992 阅读 · 0 评论 -
(十二)Python:常见魔法方法
__new__(cls[, …])      在第一次遇见__init__(self[,…])方法时我们会认为对象创建时第一个调用的方法就是它,其实不是。第一次调用的方法是__new__(cls[,…])。__init__更多的是负责初始化操作,相当于一个项目中的配置文件,__new__才是真正的构造函数,创建并返回一个实例对象,如果...原创 2018-07-31 15:12:25 · 10882 阅读 · 1 评论 -
(十一)Python:面对对象
类的定义语法示例:class ClassName: #语句1 …… #语句N一个简单的实例:class MyClass: #自定义的属性 first=1 second=2 #自定义的方法 def firstFun(self): return "firstFun"注意:如果在 self是什么...原创 2018-07-30 11:32:07 · 4279 阅读 · 0 评论 -
(十)Python:OS操作文件/目录
os 模块提供了非常丰富的方法用来处理文件和目录。os.access(path, mode)作用:检测是否有访问权限 参数:path – 要用来检测是否有访问权限的路径。mode – mode为F_OK,测试存在的路径,或者它可以是包含R_OK, W_OK和X_OK或者R_OK,W_OK和X_OK其中之一或者更多。 os.F_OK: 作为access()的mode参数,测试pa...原创 2018-07-28 18:11:17 · 3960 阅读 · 0 评论 -
(九)Python:文件操作
一、读写文件Python中使用open(filename,mode)执行打开文件操作。filename:filename 变量是一个包含了你要访问的文件名称的字符串值。mode:mode决定了打开文件的模式:只读,写入,追加等。所有可取值见如下的完全列表。这个参数是非强制的,默认文件访问模式为只读(r)。不同模式打开文件的完全列表: 模式 描述 r ...原创 2018-07-06 15:19:24 · 6436 阅读 · 1 评论 -
(八)Python:模块与包
      在Python中有一个概念叫做模块(module),这个和C语言中的头文件以及Java中的jar包很类似。比如在Python中要调用sqrt函数,必须用import关键字引入math这个模块。 以下是一个导入模块使用的例子:import random#引入random模块print(ra原创 2018-07-06 15:16:49 · 3806 阅读 · 0 评论 -
(七)Python:函数
一、自定义函数Python中自定义函数的规则:函数代码块以def开头,后接函数名和():;任何传入参数和自变量必须放在小括号中;函数的第一行语句可以选择性地使用文档字符串——用于存放函数说明。return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None。示例:def 函数名(参数列表): 函数体二、调用函数&...原创 2018-07-06 15:14:04 · 3905 阅读 · 0 评论 -
(六)Python:字典
Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为Map,使用键-值(key-value)存储,具有极快的查找速度。字典是可变的。字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 ,格式如下所示:dict = {'key1':value1,'key2':value2,'key...原创 2018-07-06 15:12:43 · 3810 阅读 · 0 评论 -
(五)Python:元组
元组和列表十分类似,只不过元组是不可以更改的。列表使用中括号而元组使用小括号。一、创建元组创建空元组tup = ();#创建一个空元组元组中只包含一个元素时,需要在元素后面添加逗号,否则括号会被当作运算符使用tup = (50)print(type(tup))tup1 = (50,)#元组只有一个元素,需要再元素后面加逗号print(type(tup1))...原创 2018-07-05 22:04:46 · 4696 阅读 · 0 评论 -
(四)Python:列表
列表是最常用的Python数据类型。它一种有序的集合,可以随时添加和删除其中的元素。 列表的数据项不需要具有相同的类型。 创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。list1 = ["test1","test2",1234,5.12]list2 = [1,2,3,4,5,6]list3 = ["a","b","原创 2018-07-05 22:03:16 · 3941 阅读 · 0 评论 -
(三)Python:字符串常用方法
字符串是 Python 中最常用的数据类型。我们可以使用引号(‘或”)来创建字符串。 Python不支持单个字符的存在,单字符在 Python 中也是作为一个字符串使用。一、访问字符串中的值我们可以使用索引(从0开始)来访问字符串中的具体字符。使用中括号来获取。 二、切片操作 切片是指对操作的对象截取其中一部...原创 2018-07-05 22:02:03 · 4103 阅读 · 0 评论 -
(二)Python:第一个Python代码
一、Python编写代码的两种方式1.1、交互提示模式 开始交互解释对话的平台无关的方法往往就是在操作系统的提示环境下输入python,不需要任何参数。 交互式的运行代码: 为什么使用交互提示模式? 交互提示模式根据用户的输入运行代码并...原创 2018-07-05 22:00:43 · 4202 阅读 · 0 评论 -
(一)Python的下载和安装
一、Python的下载Windows下:https://share.weiyun.com/5TX08fZ Linux下:https://share.weiyun.com/5yyek3d二、Python的下安装2.1、Windows下的安装一路next就OK了!2.2、Linux下的安装准备编译环境:yum install zlib-devel bzip2-deve...原创 2018-07-05 21:59:20 · 5002 阅读 · 0 评论