当前位置: 代码迷 >> 综合 >> Python爬虫实习笔记 | Week1 软件安装及基础知识学习
  详细解决方案

Python爬虫实习笔记 | Week1 软件安装及基础知识学习

热度:24   发布时间:2023-11-20 00:39:15.0

2018/10/15
1.所思所想:今天刘凤成学长跟我介绍了公司情况,以及我们小组的主要任务,即网络数据的爬取,决定学好学深,不辜负半年时光。下午的主要任务就是配置环境,所谓“工欲善其事,必先利其器”,但还是不能花太多时间,后面的具体工作才是根本。
2.工作:
(1)ubuntu系统的安装,因为之前安装过,网上教程很多,故略。

(2)PyCharm的安装,既可以在官网下载安装(免费社区版),也可在命令行安装。
    详细教程见:https://blog.csdn.net/qq_38683692/article/details/79868391  
    对于注册码的问题,可以分以下三步获取并注册:
    [1].在命令行输入 sudo gedit /etc/hosts 然后会显示hosts文件内容的窗口
    [2].最后一行添加  0.0.0.0 account.jetbrains.com
    [3].从 http://idea.lanyus.com/ 中获取激活码,激活软件

(3)Navicat的安装与卸载
    安装问题:参照 https://blog.csdn.net/u010856630/article/details/52575581?utm_source=blogxgwz3
    乱码问题:第一次使用navicat一般会乱码。关闭navicat。解决:打开start_navicat文件, 可以用 gedit 打开; 将export LANG="en_US.UTF-8"改为export LANG="zh_CN.UTF-8",保存,关闭即可。
         后来因为我安装了Navicat 12 版本,还遇到了其他问题,总结在我的博客中:https://mp.csdn.net/postedit/83106983
    破解问题:(1)不可取:有博客说删掉home下的隐藏文件.navicat64,我试了下,软件的其他功能也受到了影响。然后只好重装。
         (2) 可取:
            第一次执行start_navicat时,会在用户主目录下生成一个名为.navicat的隐藏文件夹。用 ls -a 命令可以看到。
            cd /home/.navicat64/  此文件夹下有一个system.reg文件
            rm system.reg 把此文件删除后,下次启动navicat 会重新生成此文件,14天试用期会按新的时间开始计算。
    卸载问题:在linux下只要把Navicat文件夹删除即可,这一点和windows很不同。
    
(4)Git的安装
    sudo apt-get install git
(5)mysql数据库
    安装问题:参照博客 https://www.cnblogs.com/boshen-hzb/p/5889633.html
    操作笔记:参照博客 https://www.cnblogs.com/wf-skylark/p/9043904.html
    
3.linux操作
(1).cd
(2).ls
(3).mv  
(4).tar -zxvf 解压缩文件  -zcvf 压缩文件
    TAR.GZ
    这种格式是我使用得最多的压缩格式。它在压缩时不会占用太多CPU的,而且可以得到一个非常理想的压缩率。使用下面这种格式去压缩一个目录:

    # tar -zcvf archive_name.tar.gz directory_to_compress

    解压缩:

    # tar -zxvf archive_name.tar.gz

    上面这个解包命令将会将文档解开在当前目录下面。当然,你也可以用这个命令来捏住解包的路径:

    # tar -zxvf archive_name.tar.gz -C /tmp/extract_here/

**ubuntu解压缩zip, tar, tar.gz, tar.bz2详细教程:https://www.cnblogs.com/nyist-xsk/p/7929859.html
(5).rm -rf  删除文件
(6).chmod 修改权限

2018/10/16
1.所思所想:"希望某一天,我的代码能改变世界。"——今天看到的很喜欢的一句话,有理想有情怀有抱负!
在这里的每一天都要虚心接受学长学姐们的建议,常勉!

2.工作:
(1)今天上午试了为Navicat添加方式到任务栏,按博客来一直失败,以后有经验了再试一下。

(2)整理了Git的入门使用,并放到了我的博客:https://blog.csdn.net/qq_37597345/article/details/83089125

(3)《Fluent Python》Chapter1 Python数据模型
这一章主要讲了Python中的特殊方法,即双下方法。在Python中可以实现特殊方法来使用Python中强大的内置函数,书中通过“为什么len不是普通方法”的例子向我们阐明了Python中的“实用胜于纯粹”的Python之禅。下面我将特殊方法罗列一下,一方面增强记忆,另一方面为之后学习作铺垫。
[1].跟运算符无关的特殊方法
字符串/字节序列表示形式    __repr__, __str__,  __format__, __bytes__
数值转换    __abs__, __bool__, __complex__, __int__, __float__, __hash__, __index__
集合模拟    __len__, getitem__, __setitem__, __delitem__, __contains__
迭代枚举    __iter__, __reversed__, __next__
可调用模拟    __call__
上下文管理    __enter__, __exit__
实例创建与销毁    __new__, __init__, __del__
属性管理    __getattr__, getattribute__, __setattr__, __delattr__, __dir__
属性描述符    __get__, __set__, __delete__
跟类相关的服务    __prepare__, __instancecheck__, __subclasscheck__

[2].跟运算符相关的特殊方法
一元运算符    __neg__ -, __pos__ +, __abs__ abs()
众多比较运算符    __lt__ <, __le__ <=, __eq__ ==, __ne__ !=, __gt__ >, __ge__ >=
算术运算符    __add__ +, __sub__ -, __mul__ *, __truediv__ /, __floordiv__ //, __mod__ % ...
反向算术运算符    __radd__, __rsub__, __rmul__, __rtruediv__, __rfloordiv__, __rmod__, ...
增量赋值算术运算符    __iadd__, __isub__, __imul__, __itruediv__, __ifloordiv__,...
位运算符    __invert__ ~, __lshift__ <<, __rshift__ >>, __and__ &, __or__ |, __xor__ ^
反向位运算符    __rshift__, __rrshift__, __rand__, __rxor__, __ror__
增量赋值位运算符    __ilshift__, __irshift__, __irand__, __ixor__, __ior__

Python中的任何对象都可以用于需要布尔值的上下文中。为了判定一个值x为真还是为假,Python会调用bool(x)来判定,这个函数只能返回True或False。这一点和C++中差别很大。

2018/10/17
1.所思所想:自己在MySQL上还要花时间,另外《Fluent Python》和《Python core》要看,路漫漫。
对了,自己买的爬虫项目实战,明天开始看,每天必须看2chapter!!!

2.工作:
(1)linux操作:
[1].ifconfig -a   
注意:如果不是administrator用户登录的话,请在ifconfig -a命令前加上sudo,以获取管理员权限。

(2)Navicat的安装
下午一路坎坷,本以为连接费事,不料很简单,而是安装后表格内的数据显示为方框。后来删了又装,心里一万只羊驼飞奔而过。。。表格中编码的问题在上面的博客中已经提到,故略去。
详细安装教程见下面的博客,里面也附了注册码(虽然因为版本不同,无效,呵呵):https://blog.csdn.net/fh09102103/article/details/42713655?utm_source=blogxgwz0

(4)MySQL的操作笔记
虽然在上面有人已经做了比较详细的笔记,但我还是决定用半天时间来把MySQL的常用操作整理一遍。
[1].登录MySQL
mysql -u root -p

[2].MySQL创建数据库 create database 数据库名 [其他选项];
create database test character set utf8;
创建成功后,会犯会如下信息:Query OK...

[3].MySQL选择创建的数据库 use 数据库名;
use test;

[4].MySQL创建表 create table 表名称(列声明1, 列声明2,...);
create table student(
    id int unsigned not null auto_increment primary key,
    name char(8) not null,
    sex char(4) not null,
    age tinyint unsigned not null
);

[5].MySQL对表数据增删改查操作
增:insert into 表名 values(列变量1, 列变量2, ...);   
insert into student values(NULL, "qiye", "male", 24);
删:delete from 表名 where 列变量 = 类型值;
delete from student where name = "qiye";
改:update 表名 set 列变量 = 类型值 where 列变量 = 类型值;
update student set age = 18 where name = "qiye";
查:select 列变量1, 列变量2, 列变量3,... from 表名;
select name, age ... from student;

***在MySQL中字符串既可以使用单引号包裹,也可以使用双引号包裹。这一点和Python很像。

[6].MySQL对表结构的增删改重(重命名)操作
增:alter table 表名 add 列名 列数据类型(after插入位置);
alter table student add address varchar(60) after age;
删:alter table 表名 drop 列名称;
alter table student drop addr;
改:alter table 表名 change 列名称 新列名 新数据类型
alter table student change address addr char(60);
重:alter table 表名 rename 新表名
alter table student rename students

[7].删除数据库
drop database 数据库名;
drop database test;

[8].删除表
drop table 表名;
drop table student;

[9].退出登录
quit;

 

2018/10/18
1.所思所想:看着窗外的车流,不免感慨颇多。感情,亲情,学业,爱好,心里五味杂陈。今天准备学好MySQL的基础,以及Python的正则部分,下午开始看爬虫源代码。《Python爬虫实战》也要带着看,每天2Chapter,每天2Chapter,每天2Chapter。
今天比较喜欢的一句话:“但是请记住,没有必要一下子完成所有需求。要将整个工作分解成若干需求,一次只解决一个需求。”——《MySQL技术内幕》
看了爬虫代码,感觉自己残弱的不行。欠缺的地方在于Python网络编程,正则表达式,以及html的理解。立誓:学好Python,看懂其中的每一行代码。

2.工作:
打开终端的快捷方式:Ctrl + Alt + t
(1).linux操作
创建文件: touch a.txt
删除文件: rm a.txt
创建文件夹: mkdir NewFolder
删除文件夹: rmdir Folder

[1].mkdir
使用格式:mkdir [options] DirName
options:
-m 用于对新建目录设置存取权限,也可以用chmod命令进行设置。
-p 需要时创建上层目录,如果目录已经存在,则不视为出错。

[2].rm
options:
-i 删除前逐一询问确认
-f 即使原档案属性设为只读,也直接删除,无需直接确认
-r 将目录及之中的文档逐一删除

pwd 查看当前目录所在路径

(2).MySQL操作整理
MySQL Chapter1 看完了一半,学会了很多技巧,明天可能还要继续。

2018/10/19
1.所思所想:昨晚和将要做的内容大致看了一下,感觉仍有很多欠缺,但我对自己抱有信心,我相信“慢就是快”,我相信自己的禀赋,我相信天道酬勤。今天看完MySQL,还有《Fluent Python》Chapter2,还有《Python spiser》Chapter1,2。加油,Maple!

2.工作:
(1).看到学长将Navicat快捷方式弄好,心里想着自己一定也要搞好,谁让我自尊心如此之强呢,创建快捷方式已整理成博客,如下:https://blog.csdn.net/qq_37597345/article/details/83176143

(2).Python3的字符串格式化
这一片博客整理的很好:https://www.cnblogs.com/lvcm/p/8859225.html