MAIL学术平台项目

总计划

State1 2019.3.31-

Day1 2019.3.31

尝试了SSH命令远程登陆到服务器,使用命令:

ssh -p 3003 arxiv@202.120.80.35

然后会报一些错误,不过一直回车,直到提示输入密码,然后输入密码“mail”

目前在校园网环境下进行远程登陆,非校园网下无法成功登录(所以我可以放心大胆的把密码写在这里了233)

查看Github开源项目https://github.com/karpathy/arxiv-sanity-preserver

查看Arxiv官网https://arxiv.org/

Day2 2019.4.1

SSH登录到服务器,使用如下命令获得管理员权限,进入/home目录下,下载arxiv-sanity-preserver项目

sudo su

cd /home/

 git clone https://github.com/karpathy/arxiv-sanity-preserver

按照readme.md的步骤,进入到项目文件夹下,使用如下命令安装所有依赖文件

apt install python-pip

pip install -r requirements.txt

apt-get install imagemagick poppler-utils

使用一些linux命令查看服务器配置情况【1】

结论是20核CPU,内存250GB,硬盘1TB左右

Day3 2019.4.2

阅读readme.md中的“Processing pipeline”部分,内含如何改动代码的指示

各.py文件功能如下

Day4 2019.4.4

阅读fetch_papers.py,发现它对arxiv提供的API进行了调用,API的官方文档教程详见【2】

arxiv提供的API中支持Perl、Python、Ruby、PHP四种语言,其中支持Python的部分用到了feedparser库【3】

arxiv的API文档中提供了解析和分页的样例程序【4】【5】

Day5 2019.4.14

学习feedparser库,了解RSS(Really Simple Syndication,简易信息聚合)的概念,测试feedparser的基本使用(如下)【6】

import feedparser

d=feedparser.parse('http://feed.cnblogs.com/blog/sitehome/rss')

d['feed']['title']

d.feed.title

d.feed.subtitle

d.feed.link

输出结果如下图

所解析的网站http://feed.cnblogs.com/blog/sitehome/rss如下图

尝试使服务器命令行能输出中文但是失败

Day6 2019.4.17

继续学习feedparser库【3】【7】【8】

RSS和Atom的区别【9】

阅读arxiv提供的API官方文档教程【2】

Day7 2019.4.18

继续阅读arxiv提供的API官方文档教程,至3.3【2】

Day8 2019.4.22

继续阅读arxiv提供的API官方文档教程【2】

Day9 2019.4.24

阅读完毕arxiv提供的API官方文档(包括2个通过Python调用Arxiv API的样例程序)【4】【5】

继续阅读fetch_papers.py、utils.py等其他源代码,大致理解了整体项目思路流程

可以通过改变fetch_papers.py的目录来访问arxiv下不同领域的文章【14】

Day10 2019.5.8

对整体项目进行实验

1、输入以下命令将文章下载到db.p,可以在util.py中设置保存路径

python fetch_papers.py

执行完后,目录下多了一个db.p的文件

如果觉得要保存的论文太多了,可以更改下面的代码调整保存上限

2、读取db.p,保存为pdf格式

python download_pdfs.py

保存在了/data/pdf目录,同样可以在util.py中修改

3、使用以下命令会报错,报错语句的注释处显示需要使用python3

python parse_pdf_to_text.py

由于服务器上同时装了python2和python3,默认的python是python2,所以正确语句如下

python3 parse_pdf_to_text.py

4、生成thumbnail

python3 thumb_pdf.py

5、

python analyze.py

6、

python buildsvm.py

7、

python make_cache.py

可以直接运行

python3 serve.py --prod --port 80

但是需要安装一些依赖环境

python3 -m pip install flask

python3 -m pip install flask_limiter

python3 -m pip install pymongo

再次报如下错误

解决方案为将报错的行数那里的语句改为load(open(),encoding="iso-8859-1")【8】

不过执行时在连接到mongodb时被拒绝了

可能是要先打开mongodb吗,那么先打开一下再试试

使用如下命令查找mongodb的安装位置在/usr/bin

locate mongodb

Day11 2019.5.9

通过如下命令启动mongodb

cd /usr/bin

service mongodb start

然后运行server.py

python3 server.py

Day12 2019.5.22

遇到一个问题,就是Windowed decoding of protograph-based LDPC convolutional codes over erasure channels这篇文章搜不出来,不过改一下url后面绑定的东西就好了(参照直接在arxiv上搜索进行更改)代码第80行修改如下:

query = 'search_query=%s&&searchtype=all&abstracts=show&order=-announced_date_first&start=%i&max_results=%i' % (args.search_query,i, args.results_per_iteration)

成功获得该论文

Day13 2019.6.9

学习argparser【10】【11】

python命令行输入评测,由于还没有进一步处理,所以指定标题时需要用“+”连接,同时前面需要加“ti:"

python3 fetch_papers.py --search-query ti:XXX+XXX+XXX

相关传入参数的名称和类型均可在parser.add_argument中进行修改

接下来进行一些测评(年代较远和年代较近分别进行搜索评测):

结果表明年代远近的论文均能搜索到

接下来学习使用从ubuntu上提交代码至github【12】

通过下述代码检查git是否安装

git --version

接下来进行SSH认证,首先在ubuntu服务器上输入以下命令生成公钥密钥对

ssh-keygen -t rsa -C "10165101137@stu.ecnu.edu.cn"

通过以下命令获取公钥

cat /root/.ssh/id_rsa.pub

将公钥复制到Github上—Setting——Deployed Keys中,点击Add Key

通过以下命令SSH登录到Github

ssh -T git@github.com

Day14(2019.7.18)

使用XShell6远程登陆,登录名为arxiv,顺便试了一下Xftp6

 

Day15 2019.7.19

(GWU咨询)

尝试了apache2

安装命令

apt-get update

apt-get install apache2

初始设置

ufw app list

ufw allow 'Apache Full'

检查服务器状态

systemctl status apache2

如果要重启的话,使用如下命令

systemctl restart apache2

apache2系统安装在

cd /etc/apache2/

查看/修改默认配置

cat /etc/apache2/sites-enabled/000-default.conf

本地访问端口网站成功

curl http://localhost:80/

然而从其他无法通过http://202.120.80.35:80/访问

考虑服务器端口限制,下一步要首先获得可用端口列表

Day16 

https://jingyan.baidu.com/article/154b46311a6feb28ca8f412e.html

https://www.cnblogs.com/xdp-gacl/p/4097608.html

 

 

Plan

要成功运行parse_pdf_to_txt.py似乎需要安装pdftotxt环境

https://stackoverflow.com/questions/23821204/read-pdf-in-python-and-convert-to-text-in-pdf

https://pypi.org/project/pdftotext/2.0.0/

其他有潜在价值的github项目

https://github.com/lukasschwab/arxiv.py

https://github.com/arxiv-vanity/arxiv-vanity

https://github.com/arXivTimes/arXivTimes

1、学习feedparser库,并整理

2、阅读arxiv官方API文档,并整理

3、安装Mongodb

4、学习jupyter

资源汇总

https://github.com/karpathy/arxiv-sanity-preserver
ssh -p 3003 arxiv@202.120.80.35
password:  mail
html解析工具https://www.crummy.com/software/BeautifulSoup/bs4/doc/
一个小栗子https://github.com/cww97/PythonSpider

将本地文件上传至服务器(使用SCP命令,但是一直不能成功)

https://blog.51cto.com/superw/1943250

https://blog.csdn.net/weixin_41010198/article/details/81162719

https://www.cnblogs.com/chuanzhang053/p/9400732.html

使用winscp工具可以很方便的将本地文件上传至服务器

https://jingyan.baidu.com/article/c33e3f48f53f23ea15cbb5f0.html

查看系统日志

https://forum.ubuntu.org.cn/viewtopic.php?t=92892

python2升级到python3

https://www.cnblogs.com/zangyu/p/5574513.html

python3使用pip

https://blog.csdn.net/ao123056/article/details/79043637

References

【1】查看linux系统常用的命令,Linux查看系统配置常用命令

【2】https://arxiv.org/help/api/user-manual#_preface

【3】https://pypi.org/project/feedparser/

【4】https://static.arxiv.org/static/arxiv.marxdown/0.1/help/api/examples/python_arXiv_parsing_example.txt

【5】https://static.arxiv.org/static/arxiv.marxdown/0.1/help/api/examples/python_arXiv_paging_example.txt

【6】Python之feedparser

【7】实用的 Python 之 feedparser

https://blog.csdn.net/lanchunhui/article/details/51020566

【8】https://blog.csdn.net/weixin_41592575/article/details/81320874

【8】https://pythonhosted.org/feedparser/

【9】https://www.imooc.com/article/28992

【10】https://www.cnblogs.com/dengtou/p/8413609.html

【11】https://www.jianshu.com/p/00425f6c0936

【12】https://blog.csdn.net/fenghuibian/article/details/73350890

【13】linux下tomcat8安装详解(附图解步骤)

https://blog.csdn.net/a_18397219871/article/details/79466392

【14】 https://github.com/karpathy/arxiv-sanity-preserver/blob/master/README.md

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值