爬虫数据写入django sqlite3数据库
2020-02-04 01:48
971 查看
1、生成app,设置5个python文件
项目目录/db.py
增加了对链接(link)的页面查询和数据库导入
[code]import os import django from bs4 import BeautifulSoup import requests os.environ.setdefault("DJANGO_SETTINGS_MODULE", "myweb.settings") # myweb可以更改为自己的项目名称 django.setup() # Django版本大于1.7 加入这行代码 def spider_Information(): global new from tool.models import Information first = BeautifulSoup(str(new[0]), 'html.parser') first_new = first.find_all('tr') for i in range(20): first_new_td = BeautifulSoup(str(first_new[i + 1]), 'html.parser') first_new_item = first_new_td.find_all('td') #print(first_new_item) link = first_new_td.find(name='a').get('href') # 查找方法:先find a,再get href #print(link) Information.objects.create(title=first_new_item[1].text, number=first_new_item[0].text, clicks=first_new_item[2].text, time=first_new_item[3].text, link=link) #Information.objects.create(link='link') #print(first_new_item) if __name__ == "__main__": url = 'http://news.ifeng.com/hotnews/' req = requests.get(url) html = req.content.decode('utf-8') div_bf = BeautifulSoup(html, 'html.parser') new = div_bf.find_all('div', class_='boxTab clearfix') spider_Information() print('Information Done!')
项目app/models.py
[code]from django.db import models # Create your models here. class Information(models.Model): title = models.CharField('新闻标题', max_length=100) link = models.CharField('链接', max_length=200) number = models.CharField('点击量排名', max_length=32) clicks = models.CharField('点击量', max_length=32) time = models.CharField('时间', max_length=32) participate = models.CharField('参与人数', max_length=32) comment_num = models.CharField('评论人数', max_length=32) comment = models.TextField('评论内容') created = models.DateTimeField('发布时间', auto_now_add=True) def __str__(self): return self.title
另需设置
settings.py(增加app名称)
urls.py(admin页面) 添加path('admin/', admin.site.urls),
admin.py
[code]from django.contrib import admin # Register your models here. from .models import * class InformationAdmin(admin.ModelAdmin): list_display = ('title', 'link', 'time', 'created') admin.site.register(Information, InformationAdmin)
2、使用admin页面发布
web发布效果
python manage.py runserver
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- django数据写入到数据库
- JAVA实现网页爬虫及将数据写入数据库
- python django中使用sqlite3数据库 存储二进制数据ByteArray
- Python入门级爬虫:某电竞赛事网站(JS加载)数据模型+Sqlite3数据库练习
- Python3 大型网络爬虫实战 004 — scrapy 大型静态商城网站爬虫项目编写及数据写入数据库实战 — 实战:爬取淘宝
- django 爬虫数据插入到数据库。一句话
- 使用批处理实现解析文本数据文件写入数据库表
- Django中关于ORM数据库中的操作————(主要是models.py的设计(数据表的设计)与settings.py 的配置)
- R语言list或data.table或data.frame类型数据快速写入数据库保存
- java多线程向数据库写入数据 -完整版
- 日志数据写入数据库配置
- VC2010 ADO 写入二进制数据到数据库 下载二进制数据到文件
- django项目中的数据库中增加数据
- scrapy_redis分布式爬虫 从redis数据库写入MongoDB中
- 用Jsoup写一个简单的爬虫,并把从网页上面爬下的数据保存到数据库中
- 抓取网页数据写入数据库学习
- 如何通过JDBC向数据库写入/读取大数据文件?
- QX项目实战-3.读取数据、数据写入数据库、读出数据生成新文件
- 【详解】Python从数据库提取数据写入txt
- python中django时,怎么用excel转换为数据存储到数据库中