简介

BeautifulSoup提供一些简单的、python式的函数用来处理导航、搜索、修改分析树等功能。它是一个工具箱,通过解析文档为用户提供需要抓取的数据,因为简单,所以不需要多少代码就可以写出一个完整的应用程序。 BeautifulSoup自动将输入文档转换为Unicode编码,输出文档转换为utf-8编码。你不需要考虑编码方式,除非文档没有指定一个编码方式,这时,Beautiful Soup就不能自动识别编码方式了。然后,你仅仅需要说明一下原始编码方式就可以了。 BeautifulSoup已成为和lxmlhtml6lib一样出色的python解释器,为用户灵活地提供不同的解析策略或强劲的速度。

CSS 选择器

通过标签名查找

1
2
print(soup.select('title'))
print(soup.select('a'))

通过类名查找

1
print(soup.select('.sister'))

通过id查找

1
print(soup.select('#link1'))

组合查找

1
2
print(soup.select('p #link1'))      #查找p标签中内容为id属性为link1的标签
print(soup.select("head > title")) #直接查找子标签(绝对路径)

属性查找

查找时还可以加入属性元素,属性需要用中括号括起来,注意属性和标签属于同一节点,所以中间不能加空格,否则会无法匹配到。

1
2
print(soup.select('a[class="sister"]'))
print(soup.select('a[href="http://example.com/elsie"]'))

MySQL安装

首先在命令行中输入三个命令:

1
2
3
sudo apt-get install mysql-server
sudo apt install mysql-client
sudo apt install libmysqlclient-dev

接下来确认系统是否已经安装上Mysql: 输入命令:mysql --help 出现如下一大串help,即为成功: 可以通过如下命令进入MySQL服务: mysql -uroot -p 会让你输入密码,在安装的时候有时候会出现让你设置密码,有些是默认登录。

现在设置mysql允许远程访问,首先编辑文件 /etc/mysql/mysql.conf.d/mysqld.cnf:

1
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

注释掉bind-address = 127.0.0.1sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

保存退出,然后进入mysql服务,执行授权命令:

1
2
Grant all on *.* to 'root'@'%' identified by 'root用户的密码' with grant option;
flush privileges;

然后执行quit命令退出mysql服务,执行如下命令重启mysql:

1
service mysql restart

补充:在进入MySQL时,输入mysql -uroot -p命令时,会出现 > ERROR 1045 (28000): Access denied for user ‘root’@’localhost’这种情况。于是在网上查了许多技术网站,发现一篇不错的,据此解决。链接: https://blog.csdn.net/learner_lps/article/details/62887343

最近,Google 开源了其 TCP BBR 拥塞控制算法,并提交到了 Linux 内核,从 4.9 开始,Linux 内核已经用上了该算法。根据以往的传统,Google 总是先在自家的生产环境上线运用后,才会将代码开源,此次也不例外。 根据实地测试,在部署了最新版内核并开启了 TCP BBR 的机器上,网速甚至可以提升好几个数量级。 于是我根据目前三大发行版的最新内核,开发了一键安装最新内核并开启 TCP BBR 脚本。

本脚本适用环境

  • 系统支持:Ubuntu 12+
  • 虚拟技术:OpenVZ 以外的,比如 KVM、Xen、VMware 等
  • 内存要求:≥128M
  • 日期:2018 年 03 月 20 日

关于本脚本

  1. 本脚本已在 digitalocean 上的 VPS 全部测试通过。
  2. 当脚本检测到 VPS 的虚拟方式为 OpenVZ 时,会提示错误,并自动退出安装。
  3. 脚本运行完重启发现开不了机的,打开 VPS 后台控制面板的 VNC, 开机卡在 grub 引导, 手动选择内核即可。
  4. 由于是使用最新版系统内核,最好请勿在生产环境安装,以免产生不可预测之后果。

使用方法

  1. 使用root用户登录,运行以下命令:

    1
    wget --no-check-certificate https://github.com/teddysun/across/raw/master/bbr.sh && chmod +x bbr.sh && ./bbr.sh

    安装完成后,脚本会提示需要重启 VPS,输入 y 并回车后重启。

  2. 重启完成后,进入 VPS,验证一下是否成功安装最新内核并开启 TCP BBR,输入以下命令:

    1
    uname -r

    查看内核版本,显示为最新版就表示 OK 了

  3. 检查点1

    1
    sysctl net.ipv4.tcp_available_congestion_control

    返回值一般为:

    1
    net.ipv4.tcp_available_congestion_control = bbr cubic reno
  4. 检查点2

    1
    sysctl net.ipv4.tcp_congestion_control

    返回值一般为:

    1
    net.ipv4.tcp_congestion_control = bbr
  5. 检查点3

    1
    sysctl net.core.default_qdisc

    返回值一般为:

    1
    net.core.default_qdisc = fq
  6. 检查点4

    1
    lsmod | grep bbr

    返回值有 tcp_bbr 模块即说明 bbr 已启动。注意:并不是所有的 VPS 都会有此返回值,若没有也属正常。

LaTeX介绍

LaTex是一种基于TeX的排版系统,最初由美国计算机学家Leslie Lamport在20四级80年代初开发,在对于生成包含复杂表格和数学公式的书籍质量的印刷品TeX发挥着强大功能。

TeX在不同的系统下有不同的实现版本(MiKTeX、pdfTeX、xelaTeX、CTeX),有时一种操作系统中也会有几种TeX系统。目前系统对应推荐关系如下:

Unix(mac) 类Unix(Linux) windows
MacTex Texlive MikTex

CTeX指的是CTeX中文套装的简称,是把MiKTeX和一些常用的相关工具,如GSview,WinEdt 等包装在一起制作的一个简易安装程序,并对其中的中文支持部分进行了配置,使得安装后马上就可以使用中文。

TeXLive 是由国际 TeX 用户组织 TUG 开发的 TeX 系统,支持不同的操作系统平台。其 Windows 版本又称 fpTeX , Unix/Linux 版本即著名的 teTeX 。

linux环境下LaTeX配置

总体方案介绍

TexLive + Atom编译器(3个Atom插件) + 添加win字体

LaTeX基础环境配置

  • 在有apt包管理的Linux发行版本上,如(ubuntu,deepin,debian),其安装相对容易。命令如下:
1
2
sudo apt-get update
sudo apt-get install texlive-full

其中,-full注明安装所有扩展组件(xelaTeX、语言字体包等),建议直接安装-full版本,虽然硬盘空间占用较大,但免去了单个配置的苦恼。

  • apt的Linux发行版本可能需要自行texlive官网下载最发行版本并安装。

atom(IDE)相关配置

Atom 是github专门为程序员推出的一个跨平台文本编译器。具有简洁和直观的图形用户界面,经过简单的配置,足够胜任各类语言的IDE(集成开发环境)

因为atom在大多数的linux发行版本中均未有收录,需要自行添加仓库源,或者去官网下载安装,这里为了便于更新,提供添加apt源,以及apt安装方式介绍:

1
2
3
sudo add-apt-repository ppa:webupd8team/atom
sudo apt-get update
sudo apt-get install atom

atom若作为latex的开发环境,需要配合以下插件使用(直接在atom中安装):

  • atom-latex
  • language-latex
  • pdf-view

另外建议安装simplified-chinese-menu插件,对atom菜单进行汉化。

因对兼容性的设置,若对一般latex编写,建议Latex编译器使用xelatex,在atom-latex插件中设置如下:

  • Toolchain to use 选择 custom Toolchain
  • LaTeX compiler to use 修改为 xelatex
  • bibTeX compiler to use 修改为 xelatex
  • Preview PDF after building process 选择 Do nothng

将win下字库迁移到linux下

因为win下大多字体均是微软公司授权或其他公司向用户授权,大多是非开源字体,因此在LinuxTeX发型版本中均不自带。但在发型书籍时候,使用的大多字体:英文下的新罗马字体(Times New Roman),中文下宋体(SimSun),楷体(KaiTi)均为非开源字体。若在Linux下使用,需要自行移植安装。

注意:不能直接安装,直接安装后会存在于本用户的目录下,texlive仅仅调用系统共有字体文件夹下所有字体步骤如下

复制win字体到Linux字体文件夹

windows字体文件夹位置:C://WINDOWS/Fonts

Linux下字体文件夹位置:/usr/share/fonts

建议将windows下所有字体复制到/usr/share/fonts/windows-fonts下,使用cp命令。

例如在windows字体文件夹下打开终端

1
2
sudo mkdir /usr/share/fonts/windows-fonts
sudo cp * /usr/share/fonts/windows-fonts

刷新字体缓存,使字体生效

1
sudo fc-cache -f -v

Win环境下LaTeX配置

windows环境下方案很多,这里推荐直接安装相同的Texlive套件,其直接包含MiKTeXCTeX

点击转至Texlive国内清华源

下载文件类型为ios,请解压或挂载后安装。

针对前端的IDE仍建议使用Atom,有了能力者可以使用WinEdt。

  • Atom 配置见2.2,但注意:请从官网直接下载atom并安装,其余配置一致;
  • 因为不存在字体缺失问题,直接使用即可。
0%