Skip to content

Latest commit

 

History

History
296 lines (148 loc) · 11.9 KB

3.2.8.1.md

File metadata and controls

296 lines (148 loc) · 11.9 KB

Task01问答整理

Task01整体流程(外加录屏整理)

问题解答

  • 问:在执行Scrapy进行新闻爬取实战的时候,写不进去mongdb数据库

    image-20210308142624189
    image-20210308142624189

    答:mongodb安装是否成功?有没有报错之类的。

    问:成功安装。爬虫已经成功,我看title content已经有数据了

    image-20210308142624189

    答:你这里是不是什么都没有,你退出mongo命令行重新进入查看一下呢?

    image-20210308142624189

    问:对,我是在windows下做的,还是没有

    image-20210308142624189

    答:你看下这个路径是不是有问题,我这里好像忘记改成fun-rec的路径了,你改成fun-rec下的路径再试试,有可能这里没有的参数没有导入进去。

    问:是setting这个表吗?

    答:你看看,应该是数据库那块的参数配置有问题。

    问:setting在,在settings里面固化了的。

    答:你这个代码是不是很早之前就下载的。嗷,想起来了。文档里面的内容没改。不过应该不影响。

    问:就是开课的时候下载的。

    答:不过应该不影响,代码你是自己单独写呢?还是运行的fun-rec下的code代码?你检查下pipline下面,看参数配置是否有问题,写一点print查看一下,然后在这里单独使用insert方法插入点东西查看是否有问题。

    image-20210308142624189

    问(解决):找到问题了,在copy piplines文件的时候,def类没有对齐。

    image-20210308142624189
  • 问:linux一般软件安装都放在哪个目录下面啊?是usr/local吗?

    答:这个看自己的习惯

  • 问:出现跨域问题如何解决?

    答:还需要启动snowflaske服务,启动代码为:

    snowflake_start_server --address=127.0.0.1 --port=8910 --dc=1 --worker=1
  • 问:如何修改redis配置?

    答:https://blog.csdn.net/qq_39007083/article/details/105083156

  • 问:stop-writes-on-bgsave-error no报错

    答:这个可能和安装有关

  • 问:服务没启动问题

    image-20210308142624189

    答:对,需要安装,启动这个服务,已经加入到文档中。

    image-20210308142624189
    image-20210308142624189
  • 问:redis key的问题如何处理?

    答:https://github.com/datawhalechina/fun-rec/blob/master/codes/news_recsys/news_rec_server/recprocess/README.md

  • 问:No module named 'conf.dao_config' 没有正确识别包,怎么办?

    答1:看一下自己的路径是不是正确导入了,有可能跟系统有关,需要自己调整一下。

    答2:这个问题,我遇到过,直接执行sh,在Windows下会出现,目前采用手动执行py脚本方式。

    答:嗯嗯,我也先手动。

    答:查到解决方法了,把出问题的地方sys.path.append("")换成sys.path.append(os.path.dirname(os.path.dirname(os.path.realpath(__file__))))就可以了

  • 问:是否可能在教程中强调一下node版本的约束?前端部分很多dependency较老,比如node-sass包在较新node环境会编译错误。

    答:直播时强调了,linux最好用项目目录下的那个node版本

  • 问:linux时间是2021-7-20。结果redis用make编译的时候提示创建不完善(我是windows下的redis文件传到linux,结果显示安装文件是未来的文件)

    答:clock screw问题可以通过touch修正一下错误的文件时间就可以了

  • 问:在终端执行:snowflake_start_server [--dc=DC_ID] [--worker=WORKER_ID] [--host=ADDRESS] [--port=PORT],报错显示-bash: snowflake_start_server: 未找到命令,怎么解决。

    答:看一下是否安装呢?运行的时候没有带参数吗?

    问:带了参数,是snowflake_start_server --address=127.0.0.1 --port=8910 --dc=1 --worker=1

    答:检查path里面是否有user site,试一试这个指令export PATH=$PATH:"$(python3.8 -c 'import site; print(site.USER_BASE)')/bin"

    答:有反应了,可以修复,谢谢。

  • 问:如何手动爬取信息?

    答:手动方式,文档中有写,直接运行单独的py脚本即可。

    https://docs.scrapy.org/en/latest/topics/settings.html#download-delay

  • 问:请问pip install的报错如何改正

    答:指令修改为:

    npm install -g cnpm --registry=https://registry.npm.taobao.org cnpm install

    问:还是不行,有两条指令只报了warning,装完之后npm install还是会报找不到pythonpemition deny

    答:把node modules删掉重新用cnpm装一下试试,代码如下:

    npm install rimraf -g

    rimraf node_modules

    问:还是报python错误,经过面向搜索引擎开发,有提到用sudo,但是发现还是不行,实际原因是由于用的是root账户权限执行npm,而npm默认是不适用root权限创建内容,因此会出现权限问题而导致失败,加上参数--unsafe-perm=true --allow-root即可解决问题。

    答:步骤是:首先要装py2apt install python2。然后换cnpmnpm install -g cnpm --registry=https://registry.npm.taobao.org, cnpm install。然后删掉modulesnpm install rimraf -grimraf node_modules。然后root用户的话npm install --production --unsafe-perm=true --allow-root。非root:sudo npm install

  • 问:TODO: 设置开机自启动 启动mongodb(服务器断电之后就会断开链接): sudo ./mongod --dbpath=/usr/local/mongodb/data/ --fork --logpath=/usr/local/mongodb/log

​ TODO: 设置开机自启动 ​ 启动redis ​ redis-server --daemonize yes --port 6378 --requirepass 123456 ​ redis-cli --raw

​ ./mongod 这个是在哪里的?

​ 答:就是你安装的mongdb的目录下面的bin文件里面的东西,你得看一下是安装到哪里了,找到对应的可执 行 脚本就行。

​ 问:没有userinfo这个库是否需要先建库?

​ 答:需要。表的话代码里面有这块的内容,会自动构建。你可以先测试sqlalchemy是否可以正常创建表。

  • 问:sh: 1: webpack-dev-server: not found,开启前端服务报这个错

    答:cnpm install一下就好了

  • 问:外网访问的这个,除了设置main.js里的axios.defaults.baseURL = "http://服务i去公网ip:3000",然后防火墙开3000端口和8686端口之外还有什么要设置的么

    答:flask 0.0.0.0vue 0.0.0.0外网访问

  • 问:跨域问题是啥意思?

    答:https://blog.csdn.net/qq_38128179/article/details/84956552

  • 问:为什么我的项目都启动了,用户也注册成功了,但是datagrip里面MongoDB下没有那两个数据库,mysql两个数据库下面没有对应的表?

    答:数据库,右键刷新一下就出来了

    问:都有了,反应有点慢

  • 问:加载比较慢怎么办?

    答:如果初始化就很慢的话可以把router.js里引入component的方式换成component: () => import('./components/recLists.vue'),会快一点点

  • 问:为什么这一次运行process_user.py会报错,没这表啊?看报错好像是语法格式的问题。

    答:数据库版本问题

  • 问:关于服务:

    答:服务器从8686发送htmlbrowser渲染和执行代码,本地browser向服务器3000端口发送请求,所以后端服务器要bind0.0.0.0保证公网可以访问。

  • 问:Datagrip连接mongodb之后数据库显示current database is not introspected可能是什么原因导致的?

    答:不用管,如果没有数据,这个库是不会显示的。

  • 问:运行后端server遇到过这个报错吗?

    image-20210308142624189

    答:重新安装下cryptography这个包

    问:还是不行

    答:有可能包冲突导致的,重建一个本地python环境

  • 问:爬虫的时候报cryptography的错误,但是后端server服务是可以开启的,是什么原因?

    答:pip install -l cryptography == 35.0.0可以解决。