孔天逸'Blog

人間って、不自由な生き物ね。


  • 首页

  • 关于

  • 标签

  • 分类

  • 归档

Scrapy匹配xpath时tbody标签的问题

发表于 2016-08-24 | 分类于 Python | 0

问题描述

今天学习Scrapy的使用,在用xpath匹配元素的时候,发现老是出错,后来发现是<tbody>标签上有文章。

问题分析

我使用Chrome的元素审查和查看网页源代码对网页进行分析,得出xpath,但是Chrome会对网页源码进行加工,在<table>标签中,如果源码中没有写<tbody>标签,在元素审查和查看网页源代码中还是会将<tbody>强行添加上。

当然,若源代码中没有<tbody>,而我们信任Chrome而把它添进xpath的话,是不会匹配出想要的结果的。

我们可以通过

1
print response

对源代码进行检查,确定有没有<tbody>标签后,再得出xpath。

Win10下pip的安装

发表于 2016-08-10 | 分类于 Python | 0

pip简介

pip 是一个安装和管理 Python 包的工具,通过pip我们能够轻松地下载和卸载python的第三方包。

原料

  • 64位Windows10 专业版
  • python 2.7.12(没有安装python的同学请戳链接Win10下的Python环境配置)

下载安装包

进入python官方网站,点击上方导航栏的PyPI,如图一

图一

在进入的页面右上方的搜索框输入pip,点击search按钮,如图二

图二

在搜索列表中找到pip的最新版本,目前为pip8.1.2,点之,如图三

图三

在进入的页面中,选择Source文件,扩展名为.tar.gz,如图四

图四

安装pip

在本地找到下载的源码包,解压之,解压到什么地方无所谓,解压后进入文件夹,发现文件结构如图五,我们要使用的是setup.py

图五

在命令行中进入上述文件目录,执行命令

1
python setup.py install

如图六

图六

此时pip已安装完毕,与安装python时一样,我们希望命令行在任何目录下都能使用pip命令,所以需要配置环境变量,配置环境变量的过程与python一样,将python安装目录下的script文件的路径加入到Path中,如何加入环境变量见Win10下的Python环境配置
获得文件路径方法如图七、图八

图七

图八

检查

环境变量配好后,重启命令行,输入

1
pip -V

输出版本信息,说明pip已安装配置成功!

图九

Win10下的Python环境配置

发表于 2016-08-08 | 分类于 Python | 0

原料

64位Windows10 专业版


安装Python

访问python的官方网站www.python.org,点击download,如图一

图一

选择2.7版本,如图二

图二

下载好图三所示文件

图三

双击打开上述安装程序,选择是否给所有用户使用,默认是给全局,点Next

图四

选择安装路径,选好后Next

图五

选择要安装的模块,默认即可,Next

图六

安装完了,点击Finash

图七

去安装目录看一下目录结构,其中的python.exe就是我们执行python脚本所需要的解释器

图八

我们此时可以在命令行中进入安装目录,执行一下python,跟她打个招呼

图九


环境变量

当然我们不希望每次与她相见都要闯过层层目录,我们希望能够直接相见!所以我们就需要配置环境变量了,
先右键python.exe,选择属性,把她的路径Ctrl+C复制出来,以备后用

图十

打开我的电脑,哎?win10应该叫此电脑哈,你懂的我说的是哪个^_^,然后我们找到系统属性,点进去

图十一

点击高级系统设置

图十二

点击环境变量

图十三

在系统变量中找到PATH,双击打开

图十四

点击新建,然后把刚才复制的python.exe的路径复制过去

图十五

然后一路点确定,一定要点确定,不要点叉号!不然丈母娘windows会以为你没诚意哦!
好,再次打开cmd,直接输入python,就可以与她相见啦!至此python安装配置完毕

图十六

Linux之旅(三)——Linux常用命令

发表于 2016-08-02 | 分类于 Linux | 0

文件与文件夹的操作

  • ls -> 列出当前文件夹下文件和文件夹
    • ls -l -> 文件的详细信息列表
    • ls -a -> 增列出隐藏文件——以.开头的文件
  • cd -> 改变当前路径
    • cd .. -> 返回上级目录
  • pwd -> 输出当前路径
  • rm -> 删除文件
    • rm -r -> 删除文件夹时递归删除,即删除文件夹下的内容

系统管理

  • top -> 查看当前进程情况(好比Windows下的任务管理器)
    • z -> 查看变化情况
    • q -> 退出
  • ps aux -> 查看进程情况
    • ps aux | grep ssh -> 查看包含ssh关键字的进程
    • 注: | -> 管道,能把管道左侧命令的输出当作右侧命令的输入
  • ifconfig -> 打印当前系统中所有网卡的列表
    • lo是环路列表,即主机本身的
    • 其他是网卡
  • systemctl -> 系统控制命令
    • systemctl restart network -> 重启网络连接

vi

  • 三种模式
    • 查看模式:默认进入,只能查看,不能编辑
      • : G -> 跳转到文件的最后一行
      • : gg -> 跳转到文件的第一行
    • 编辑模式:在查看模式下点击i键进入,按Esc键返回查看模式
    • 替换模式:在编辑模式下点击Insert键,再按返回编辑模式
    • 命令模式:在查看模式下输入冒号:
      • :q! -> 放弃更改并退出
      • :wq -> 保存并退出
      • :w -> 保存

sublime的快捷键

发表于 2016-08-01 | 分类于 html | 0

前端开发工具,选来选去还是用神器Sublime吧,快捷键即学即更。

  • ! + Tab -> 生成html5模板
  • div + Tab -> 生成
    模板
  • div#main -> 生成一个带id属性的
    模板
  • div.content -> 生成一个带class属性的
    模板
  • div#head>p*6 -> 生成一个带id并且包含6个

    标签的

    模板

  • Ctrl + 鼠标左键 -> 多行输入
  • Ctrl + 鼠标滚轮 -> 放大缩小字体
  • 划词选中 + Ctrl + F3 -> 修改同名词汇
  • Ctrl + ~ -> 调出命令行
  • Ctrl + p -> goto anything用关键字定位项目中的任何文件

双端上传github

发表于 2016-07-29 | 分类于 Git | 0

背景:

因为实验室里给配了电脑,所以终于不用背着电脑穿梭于实验室和寝室了,但是项目工程的更改就需要用github来管理。
在管理过程中发现不能更新mast分支的情况,报错信息是:

error: 无法推送一些引用到 ‘https://github.com/yourname/youname.github.io.git',

以下解决方法转自pelican error: 无法推送一些引用到 提示:一个版本库已向该引用进行了推送。

解决:

git push -u origin +master​

Linux之旅(二)——Ubuntu下网络奇慢无比的解决方案

发表于 2016-07-14 | 分类于 Linux | 0

背景

今天在物理机上装Ubuntu,装好后发现联网后网络非常非常慢,连百度都打不开,以下解决方法
转自Ubuntu下解决网络很慢的问题

我的系统版本是Ubuntu16.04

解决办法

这其实是一个很郁闷的问题,在win 7系统下网络完全正常,可是在ubuntu下慢的和蜗牛一样….
郁闷,是因为由于网速慢的原因,让我以为工作中程序的问题,花费了一周的时间去修改程序和调查优化的方法,可是最终还是如此,最后在别的机器上测试,发现并无次问题.
系统:ubuntu 11.04
存在的可能问题:系统使用的r8169驱动并不能很好地支持主板上的Realtek 8111/8168网卡。
解决方法:
首先在Realtek官网下载最新的网卡驱动:http://www.realtek.com.tw/downloads/downloadsView.aspx?Langid=3&PNid=13&PFid=5&Level=5&Conn=4&DownTypeID=3&GetDown=false#2
当前的版本是8.032.00,下载下来的文件名是“r8168-8.032.00.tar.bz2”;
Ctrl+Shift+T组合键打开终端,执行“lsmod | grep r8169”命令,查看输出,确认当前系统使用的是r8169驱动;
然后执行”sudo rmmod r8169”去除该模块。
进入解压缩之后的文件夹,运行“sudo ./autorun.sh”命令安装驱动。
执行“sudo gedit /etc/modprobe.d/blacklist.conf”,在文件的末尾处加入一行文字“blacklist r8169”,防止系统再次载入r8169驱动。保存文件并退出编辑器。
执行“lsmod | grep r8168”,查看输出,确保r8168驱动已经成功地装上了。
最后执行“sudo update-initramfs -u”,更新initramfs镜像。

执行完上述步骤,网络问题就应该解决了;网络上说什么改变dns之类的基本没有什么用途…

入声字鉴别器

发表于 2016-07-11 | 分类于 闲情偶记 | 0

背景

小学期上诗歌创作课,当然是百分之百的认真,然而毕竟一介工科老狗,底子不行,判断平仄老是被入声字困扰。
为了提升作业质量(不要把平仄全标错了),做了这样一个鉴别器。

实现

从古入声字一览表中拿到本程序的入声字库(不懂什么是
平仄和入声字的可以戳进去看看),因为数据量并不大,所以直接js代码挨个字去匹配就ok了,代码没什么可说的,
会一门编程语言的估计都能看的懂,所以归类还是把这篇归到闲情偶记里来了。值得一提的是bower前台包管理器,
有兴趣的同学自行google吧。

访问地址:http://123.206.9.41/rusheng/rusheng.html

好吧我承认我连个域名也买不起…

代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="">
<meta name="author" content="">
<link rel="icon" href="favicon.ico">
<title>鉴别入声字</title>
<link href="bower_components/bootstrap/dist/css/bootstrap.min.css" rel="stylesheet">
<link href="cover.css" rel="stylesheet">
</head>

<body>

<div class="site-wrapper">

<div class="site-wrapper-inner">

<div class="cover-container">

<div class="masthead clearfix">
<div class="inner">
<img src="logo.png">
<nav>
</nav>
</div>
</div>

<div class="inner cover">
<h2 class="cover-heading">输入诗句,我会帮你鉴别出其中的入声字: -)</h2>
<p class="lead"></p>
<textarea id="ta" class="form-control" rows="5"></textarea>
<br>
<p class="lead">
<button class="btn btn-lg btn-primary" id="btn" onclick="check()">检索</button>
</p>
</div>
<div>
<p id="result" class="lead"></p>
</div>
<div class="mastfoot">
<div class="inner">
<p>入声字库来源<a href="http://blog.sina.com.cn/s/blog_4e5eb1c40102dzu1.html">天外人的博客.</p>
<p>Cover template for <a href="http://getbootstrap.com">Bootstrap</a>, by <a href="https://twitter.com/mdo">@mdo</a>, program coding by<a href="https://kongtianyi.cn">@孔天逸</a>.</p>
</div>
</div>

</div>

</div>

</div>

<script src="bower_components/jquery/dist/jquery.min.js"></script>
<script src="bower_components/bootstrap/dist/js/bootstrap.min.js"></script>
<script type="text/javascript">
function check(){
var lib = "八捌钵拨剥钵逼鳖憋擘般泼劈撇瞥扑仆噗拍霹泊摸抹发答搭褡鎝嗒耷滴跌督掇裰咄剟" +
"塌踏褟剔踢帖贴怗秃托饦脱突捏拉勒邋匝咂作擦撮撒缩塞隻汁织只扎桌卓倬捉涿拙摘粥蜇吃" +
"插出戳拆鍤蝨湿失虱杀刷说叔淑菽煞铩激迹击墼积绩勣缉叽咭唧襀屐夹揭结接噘撅撧锔掬鞠" +
"浃七柒漆戚嘁沏掐切曲屈缺麯阙吸翕歙悉蟋窸析息熄螅惜昔夕汐锡昔皙晰淅蜥膝瞎歇楔蠍戌" +
"薛削搁疙胳割鸽刮聒郭鸹栝蝈啯纥咯瞌搕磕嗑颏哭窟喝忽惚唿唬豁劐黑一壹揖押鸭噎掖屋挖" +
"曰约噦压阿拔跋钹茇魃白舶帛伯泊铂箔勃渤脖鹁孛博薄礴搏膊驳踣别荸蹩醭雹璞僕仆濮膜没" +
"乏伐筏茷阀垡罚砝佛弗拂彿绋怫茀伏袱服菔韨绂福幅蝠辐答瘩沓达鞑妲靼怛笪得德笛迪狄荻" +
"敌嫡镝觌翟涤籴的碟蝶喋堞牒迭叠独读犊牍渎毒夺铎踱度掇杂砸则择泽责啧笮帻箦贼足卒族" +
"镞捽昨俗直值植殖稙执侄职扎札炸劄铡闸轧宅折哳辙摺哲辄谪蛰讋竹竺烛躅逐轴妯酌灼浊镯" +
"琢啄諑濯擢茁着斫浞斵缴察十什拾石食蚀实识舌折孰熟秫赎芍及级汲岌笈亟极殛吉急即脊瘠" +
"疾嫉蒺集籍藉辑楫戟棘夹荚郏颊浃铗挾蛱鵊恝戛洁絜结拮诘劼颉劫桀傑杰羯碣竭偈节捷婕睫" +
"截局跼菊橘决抉诀玦倔掘崛桷厥蕨蹶獗橛谲觉爵嚼绝矍攫躩钁席媳习袭檄侠狭峡狎柙辖黠协" +
"勰胁颉撷硖穴学匣格阁骼革隔膈葛蛤嗝国掴帼虢骨咳壳合盒曷盍阖劾核阂貉涸翮斛觳滑猾划" +
"活额笔卜百佰柏北癖撇匹朴蹼抹发法笃塔獭铁帖庹撒靸索嘱瞩眨窄尺蜀属辱戟给脊甲岬胛蹶" +
"缴乞曲雪血宿骨鹘谷毂榖鹄汩葛渴恶乙必毖辟薜壁璧毕跸哔荜弼碧滗彆不簿鲅迫粕珀魄僻闢" +
"瀑曝末抹沫茉秣莫寞漠默墨麦没脈殁陌泌秘蜜密谧觅幂汨灭蔑篾木沐霂幕目苜牧睦穆复復腹" +
"覆蝮服缚度踱的菂踏搨榻遢蹋挞特惕倜拓萚纳衲讷呐匿暱溺逆涅陧聂蹑颞镊臬孽蘖齧诺搦虐" +
"疟辣瘌蜡腊镴肋仂勒乐力立粒笠栗慄溧历枥沥疬雳栎砾郦列冽烈裂猎躐鬣劣鹿漉麓辘箓绿录" +
"禄碌録逯戮陸六洛雒络落酪烙骆珞律率略掠仄作柞酢凿侧测恻厕策册猝促蹴簇蹙踧飒萨瑟塞" +
"啬穑涩色肃鷫速觫簌宿粟谡夙窒桎栉铚蛭郅秩紩陟炙质锧浙祝斥赤彻撤澈畜搐触怵黜绌矗绰" +
"辍龊式拭轼室释适饰煞歃霎设慑摄涉述术沭束妁朔蒴槊烁铄硕蟀日热肉褥入若箬弱鲫稷剧倔" +
"寂迄讫泣恰洽怯契惬箧切窃妾却确榷搉壳慤阙阕鹊雀隙吓绁泄燮亵屑恤卹畜蓄勗旭续穴血各" +
"克勀客恪嗑榼酷嚳阔括扩廓赫郝喝鹤褐笏或惑获蠖镬霍藿壑恶萼愕鄂鳄噩厄扼轭遏弋亦奕易" +
"邑浥轶役疫亿忆臆绎译驿益鎰翼翊熠佾逸屹抑腋液揠叶页业邺谒烨兀杌勿物沃襪握幄玉钰域" +
"蜮浴欲慾峪毓育郁昱煜狱月刖悦阅钺樾乐药耀跃粤岳嶽钥鬱";
var sub = $("#ta").val();
var re = "";
for(i=0; i<sub.length; i++){
for (j=0; j<lib.length;j++){
if(sub[i] == lib[j]){
if(re == ""){
re += sub[i]
}else{
re += ("、" + sub[i]);
}
}
}
}
$("#result").text("诗句中的入声字有:\n" + re);
}
</script>
</body>
</html>

真的是没有一点技术含量啊 = = 。

ps:网页样式出自bootstrap官网,模板地址http://v3.bootcss.com/examples/cover/

结语

如天外人所说的

现代诗词大家,都主张在写古诗词时保留古入声字,以便延伸、继承中华民族的灿烂文化,所以,搞清楚古入声字亦有必要,但除了硬记,别无他法。

入声字在日常生活中存在感几乎为零,我们背诵古诗、朗诵古诗基本都是使用普通话,若创作
新的古体诗词,朗诵自然也是用普通话,那么使用入声字来匹配平仄岂不反而会使诗歌失去韵律了吗?

Linux之旅(一)——ubuntu虚拟机重启后进入initramfs的解决办法

发表于 2016-07-10 | 分类于 Linux | 0

环境

VMWare Workstation 12 PRO
Ubuntu-16.04-desktop-amd64

背景

用VMWare安装了Ubuntu之后,不用时都是让其处在挂载模式。昨天脑残在系统内重启了一下,发现卡在Ubuntu
下面四个点的那个界面,四个点一直跳,可是就是进不去系统,打了一把LOL回来看看还是没进去,于是乎用VMWare
强行重启,然后就进入了今天的主题,直接进入黑屏命令行了,如下图:图一

解决方案

同学推荐我这个帖子引导异常导致无法正常开机,感觉很有道理,但是并不能解决我的问题。

于是找班里大神help,大神说文件系统损坏,根据上图的提示信息,大神给的解决方案如下:

1
fsck /dev/sda1

图二

然后一路y下去

图三

大概y了n次之后,出现FILE SYSTEM WAS MODIFIED,文件系统修复成功了

图四

然后执行reboot重启,终于又能看见Ubuntu这可爱的界面了!

赶紧补一波fsck命令的含义,执行man fsck进入其使用手册

图五

后记

如果你也由于误操作或者莫名奇妙的进入了initramfs模式而本方法无法解决,那么可以试试开头提到的那个帖子里的
解决办法。

另外,虚拟机备份真的很重要啊!VMWare可通过虚拟机->快照->拍摄快照,进行备份。

Python学习笔记(五)——MySQLdb模块的安装

发表于 2016-07-06 | 分类于 Python | 0

安装环境

linux unbunto 16.04

python2.7.11

安装步骤

转自 python MySQLdb的安装和使用

  1. 首先要下载下载:请到官方网站
    http://sourceforge.net/projects/mysql-python/

    或者点击链接下载

    http://downloads.sourceforge.net/project/mysql-python/mysql-python-test/1.2.3c1/MySQL-python-1.2.3c1.tar.gz?use_mirror=nchc

  2. 解压:tar zxvf MySQL-python*

  3. 进入文件目录,运行以下命令:

1
python setup.py install
  1. 安装完成,到你的python安装目录下的site-packages目录里检查以下文件是否存在,如果存在即代表安装成功了
    • Linux:MySQL_python-1.2.3c1-py2.6-linux-i686.egg
    • Mac OS X:MySQL_python-1.2.3c1-py2.6-macosx-10.4-x86_64.egg
    • 注:如果碰到mysql_config not found的问题,有两种方法解决:
    • ln -s /usr/local/mysql/bin/mysql_config /usr/local/bin/mysql_config
      将mysql_confi从你的安装目录链接到/usr/local/bin目录下,这样就可以在任意目录下访问了(也可以放到/usr/bin)
    • 编辑源码文件夹的site.cfg文件,去掉#mysql_config = /usr/local/bin/mysql_config前的注释#,修改后面的路径为你的mysql_config真正的目录就可以了。(如果不知道mysql_config在哪里,运行命令:whereis mysql_config)

仍然报错:

若上个模块的第4条提供的两种结局办法都不行,尝试下面这个办法:

转自mysql-python安装时EnvironmentError: mysql_config not found

在安装 mysql-python时,会出现:

1
2
3
4
5
6
7
8
9
sh: mysql_config: not found
Traceback (most recent call last):
File "setup.py", line 15, in <module>
metadata, options = get_config()
File "/home/zhxia/apps/source/MySQL-python-1.2.3/setup_posix.py", line 43, in get_config
libs = mysql_config("libs_r")
File "/home/zhxia/apps/source/MySQL-python-1.2.3/setup_posix.py", line 24, in mysql_config
raise EnvironmentError("%s not found" % (mysql_config.path,))
EnvironmentError: mysql_config not found

主要原因是没有安装:libmysqlclient-dev

1
sudo apt-get install libmysqlclient-dev

找到mysql_config文件的路径

1
2
sudo updatedb
locate mysql_config

或者

1
whereis mysql_config

找到
mysql_config的位置为:/usr/bin/mysql_config

  • 若是下载的安装包,编辑源码文件夹的site.cfg文件,去掉#mysql_config = /usr/local/bin/mysql_config前的注释#,修改后面的路径为你的mysql_config真正的目录就可以了。(如果不知道mysql_config在哪里,运行命令:whereis mysql_config)
  • 若是下载的源码包,在mysql-python源码包下找到:setup_posix.py 文件,然后找到文件中的 mysql_config.path 将其值改为:/usr/bin/mysql_config,然后 sudo python setup.py install ,就ok了

windows下的安装

参照这位大哥,亲测有效,补充一点是把安装好的文件拷贝到自己Python/Lib下,如果大哥给的下载链接失效,可以留言找我要
【记录】为Python安装MySQL数据库模块:MySQLdb

1…567
孔天逸

孔天逸

67 日志
18 分类
32 标签
GitHub E-Mail CSDN
© 2016 — 2021 孔天逸
由 Hexo 强力驱动
|
主题 — NexT.Gemini v5.1.4
已有 3702 位大佬知道这儿有个菜鸡了 已被公开处刑 4233 次