python爬虫网页的部署,登录注册模块并入

参考项目源码地址:

项目1GitHub - hunter-lee1/guanchazhe_spider: 观察者新闻网爬虫(新闻爬虫),基于python+Flask+Echarts,实现首页与更多新闻页面爬取(Requests+etree+Xpath)+新闻存储(MySQL)+文本分析(Jieba)+可视化(新闻词云,词频统计)。

一、部署项目1

由于原作者没有给出requirement文件,库就自己手动添加了

可以选择需要的版本(不选默认最新),点击Install Package,等待安装完成即可数据库的连接:在app.py84行,找到并修改成自己数据库的账号密码

 同样的修改spider_modul.py25行,useful_functions.py7行,word_cloud.py13行

下面将guanchazhe.sql导入数据库,我的数据库版本是5.7,用的navicat进行导入:

新建数据库news_with_keyword,字符集选择utf8,右键运行sql文件

 这里遇到第一个bug,导入文件会失败,找了很多方法,本来以为是版本问题,但是新建了sql文件将数据复制进来再导入就莫名成功了,不知道是什么情况。

app.py中第8行的代码本来被注释了,取消才能爬取最新的新闻

 运行app.py,点链接就可进入网站

观察者网新闻数据可视化

二、部署项目2

 这里用的python版本为3.6,头铁试过了3.10是不能运行的,Django的库不支持3.10,据说3.9可以,后面再试。

原作者给出了requirement文件,所以只需要在终端执行文件即可

pip install -r requirement.txt

但是因为网络的原因,总会遇到几个报错的,所以建议还是手动加库,方法同项目1的部署

运行报错:

ModuleNotFoundError: No module named 'MySQLdb'

解决办法:项目主mysite的__init__.py文件夹中添加代码:

import pymysql
 
pymysql.install_as_MySQLdb()
 

数据库的连接:在项目的mysite文件夹下打开settings.py,80~90行修改成自己的数据库信息即可,对了别忘了在数据库中加一个名为mysite的数据库。

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
        'ENGINE':'django.db.backends.mysql',     # 数据库类型,mysql
        'NAME':'mysite',            #  database名
        'USER':'root',               # 登录用户
        'PASSWORD':'sise',        #  登录用户名
        'HOST':'127.0.0.1',        # 数据库地址
        'PORT':'3306'              # 数据库端口
    }

在终端按序运行以下几行代码:

python manage.py makemigrations
python manage.py migrate
python manage.py createsuperuser

最后执行:

python manage.py runserver 127.0.0.1:8000

访问127.0.0.1:8000/login进入登录页面

访问127.0.0.1:8000/register进入注册页面

邮箱确认服务开启

注册界面的邮箱确认码需要自己在邮箱中开启服务,这里以qq邮箱为例,登陆后点击设置—账户

点击pop3/smtp服务的开启,短信验证后你会得到一串 授权码

 在settings.py的第139和140行分别输入自己的邮箱和授权码,即可完成邮箱确认服务。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值