爬取网页中表格类信息数据并存储到excel表中

需要的工具:

  • Python3
  • requests
  • BeautifulSoup
  • openpyxl
  • re
  • PIL
  • urllib
  • pytesseract

本文两个例子的完整代码:https://github.com/huanyouchen/python-spider

阅读全文

django连接mysql报错:OperationalError 1045 Access denied for user

django版本:2.0.4
mysql版本:5.7.22-0ubuntu0.16.04.1
pymysql版本:0.8.1

django连接MySQL数据库过程如下:

首先安装PyMySQL: pip install pymysql

阅读全文

通过源码编译安装TensorFlow-CPU版本支持AVX等指令集

系统: ubuntu16.04 64位
Python3.5版本
tensorflow: 1.8(CPU版本)
bazel: bazel-0.13.1

注意:本文安装的是TensorFlow的CPU版本, 不是GPU版本的

前言

官网方法在Ubuntu上通过pip或者Virtualenv安装TensorFlow: https://www.tensorflow.org/install/install_linux

阅读全文

矩阵快速幂

矩阵的快速幂是用来高效地计算矩阵的高次方的。将朴素的o(n)的时间复杂度,降到log(n)。
本文先学习快速幂和矩阵乘法的基础知识,然后将两者结合实现矩阵快速幂方法。然后举一个例子:使用矩阵快速幂求斐波那契数列。


快速幂

一般计算底数x的n次幂$x^n$ 的方法: $x^n = x × x × x … x × x$ ,需要做n次乘法运算,代码实现如下:

阅读全文

mysql报错:1406, "Data too long for column

mysql存储的时候报错:

1
pymysql.err.DataError: (1406, "Data too long for column 'songlist_url' at row 1")

查看网上资料有说因为数据库中设置的字符长度不够,我加长了以后依然会报错。另一种说法是由于输入了中文,编码出现了问题。

查看MySQL的status;,发现:

1
2
3
Server characterset:    latin1
Db characterset: latin1
Client characterset: latin1

阅读全文

导入BeautifulSoup报错AttributeError module object has no attribute _base

导入BeautifulSoup: from bs4 import BeautifulSoup

报错信息:

class TreeBuilderForHtml5lib(html5lib.treebuilders._base.TreeBuilder):
AttributeError: ‘module’ object has no attribute ‘_base’

阅读全文

指定pip安装在某个Python版本下

系统中同时存在python2.7, python3.5, python3.6多个版本的Python,,而pip install安装时需要指定安装在某个Python下,,方法如下:

1
2
3
4
5
sudo python3.5 -m pip install openpyxl

sudo python2.7 -m pip install openpyxl

sudo python3.6 -m pip install openpyxl

阅读全文

约瑟夫问题求解及优化

问题描述

在一间房间总共有n个人,给定一个数k,然后按照如下规则去杀人:

  1. 所有人围成一个圆圈,按顺时针依次给所有人编号:1, 2, 3…, n
  2. 由编号1开始报数,按顺时针方向,报到数字k的人将被杀掉
  3. 被杀掉的人从房间内被移走,从被杀的下一个人重新由1开始报数
  4. 报到数字k的人再次被杀掉,再移走,再次开始报数,一直杀到最后剩余一个人

最后剩余的人活命。

那么,给定了 n 和 k,最后活下来的人的编号是几?

阅读全文