Skip to content

ptrtonull-workshop/PianYuan

Repository files navigation

🥗pianyuan: 一个片源网的爬虫

安装

pip3 install pianyuan

或者

git clone https://github.com/ptrtonull-workshop/pianyuan
cd pianyuan/
python setup.py install

爬取

你可以使用以下命令,把此处的电影到数据库里

pianyuan -G start end host username password

其中:

  • -G:代表get,获取信息
  • start:爬取的开始页,比如start等于3的时候对应的网站是此处
  • end:爬取的结束页,比如end等于3的时候对应的网站是此处
  • host:数据库的地址
  • username:数据库用户的用户名
  • password:数据库用户的密码

如果你的数据库账号没有密码,即密码为空,那你可以执行下面的命令来达到相同的效果

pianyuan -g start end host username

此外,你还可以使用以下命令来查看数据库中的数据条数

pianyuan -M number localhost root root

当然,如果你要看更详细的条目,请直接登录数据库查看

开发

在你开发时,我们为你准备了协助性的命令脚本,格式为:

pianyuan -S action

其中:

  • -S:代表shell,标记此条语句执行的是一些协助性的命令脚本
  • action:代表要执行的动作,目前支持的动作有:
    • init
    • beautify
    • test

当你得到本项目的源码时,你第一步要做的就是安装项目所需要的初始化文件,你可以使用

pianyuan -S init

当你完成你的代码并且验证了要达到的功能后,你可以使用下面的命令来优化格式

pianyuan -S beautify

当你要往仓库上传代码时,为了让你的CI能通过你的代码,你可以使用下面的命令查看代码中的格式错误,以确保你的代码符合规范。符合规范的情况为此命令结束后没有返回信息。

pianyuan -S test

其它

如何参与本项目

问题的开端

  • 直接在本仓库创建暂时分支,通过pull request 来合并代码
  • fork 本项目,通过pull request来合并代码
  • 提issue,由仓库管理员来改进

创建分支

如果你是仓库管理员,拥有直接读写仓库的权限,那么当你有一个改进时,请在issue提供一个详细的记录,你可以标记这是一个bug或者feature,并写下具体的描述。

克隆或更新仓库代码

执行

git clone https://github.com/ptrtonull-workshop/PianYuan.git
cd ./pianyuan

来克隆本仓库的dev分支代码,通常情况下,这个分支的代码是最新的,当然,如果你以前已经克隆过了,那就请您更新一次您的代码,使您的代码保持最新。

如果您第一次下载代码,则意味着您很可能没有本项目需要的相关包,请执行

pianyuan -S init

来初始化项目来获得本项目需要的包

新建bug分支

在GitHub issue上提交一个issue, 记录下bug的情况,记下issue的号码,例如您新建了一个编号为#1的issue: 使用

git branch bug#1
git checkout bug#1

dev分支创立并切换到一个bug分支来修复这个bug,#后的号码为issue的号码,在这个分支中进行bug的修复。

检查代码

在本地文件夹中执行

pianyuan -G 1 1 hostname username password

后,程序会自动写入数据到数据库,来测试你的代码的功能是否正常

其中

  • hostname:数据库地址
  • username:用户名
  • password:用户名密码,为空的时候可以不填

在本地项目文件夹中执行

pianyuan -S beautify
pianyuan -S test

来规范你的python代码,以符合flake8的规范。再使用flake8确认main.py中的语法错误和书写规范,如有不符合flake规范,提交的代码将无法通过CI的检查 在这条语句中,E501的意思是:你最多只能在一行中写79个字符,这个规定过于苛刻,故我们将它删除了

E501: E501 line too long (81 > 79 characters)

提交

修复完毕后,commit此次修改 完毕后,执行

git push origin bug#1

来推送该分支到Github。切换到Github,我们再将bug#1 通过pull requestdev分支合并,在这个过程中,我们的CI会检查代码。

等待合并完成之后,我们在本地执行

git push origin :bug#1

来远程删除在Github上的多余的分支

Q&A

哪些操作需要直接在Github上提交?

  • README文档需要更新
  • CI配置文件需要更新

哪些情况需要直接同步到master分支?

  • 有重大更新,可能是一天积累的;
  • 涉及到CI的配置文件的;
  • 紧急的BUG