网站开发的过程中遇到的难题,七台河新闻头条,外贸网站设计案例,wordpress免费交易主题本次我们要用自己写好的热销词条爬虫代码来演示如何用Django把我们写好的模型封装。 第一步#xff1a;代码准备
热搜词条搜集代码#xff1a;
import requests
from lxml import etreeurl https://tophub.today/n/KqndgxeLl9
headers{User-Agent: Mozilla/5.… 本次我们要用自己写好的热销词条爬虫代码来演示如何用Django把我们写好的模型封装。 第一步代码准备
热搜词条搜集代码
import requests
from lxml import etreeurl https://tophub.today/n/KqndgxeLl9
headers{User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3
}res requests.get(url url,headersheaders,
)# print(res.status_code)html etree.HTML(res.text)
trshtml.xpath(/html/body/div[1]/div[2]/div[2]/div[1]/div[2]/div/div[1]/table/tbody/tr)def getfirsttext(list):try:return list[0].strip()except:return # fileopen(微博热搜top50.txt,modew,encodingutf-8)
for tr in trs:id getfirsttext(tr.xpath(./td[1]/text()))titlegetfirsttext(tr.xpath(./td[2]/a/text()))playgetfirsttext(tr.xpath(./td[3]/text()))urlgetfirsttext(tr.xpath(./td[2]/a/href))print(id,title,play,url)
# file.write(str(id),title,str(play))
# file.close()第二步创建Django项目
在你选择存放项目的文件夹中在命令行终端中执行以下命令来创建一个新的 Django 项目名为myproject
django-admin startproject myproject
第三步配置项目 1、创建一个应用程序 myapp。
python manage.py startapp myapp 这将在项目目录下创建一个名为 myapp 的新应用程序其中包含应用程序的基本目录结构。 2、接下来创建一个 Django 视图用来处理请求并将数据呈现在网页上。在你的应用程序中的 views.py 文件中编写如下代码 from django.shortcuts import render
import requests
from lxml import etreedef show_hot_topics(request):url https://tophub.today/n/KqndgxeLl9headers {User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3}res requests.get(urlurl, headersheaders)html etree.HTML(res.text)trs html.xpath(/html/body/div[1]/div[2]/div[2]/div[1]/div[2]/div/div[1]/table/tbody/tr)hot_topics []for tr in trs:id getfirsttext(tr.xpath(./td[1]/text()))title getfirsttext(tr.xpath(./td[2]/a/text()))play getfirsttext(tr.xpath(./td[3]/text()))url getfirsttext(tr.xpath(./td[2]/a/href))hot_topics.append({id: id, title: title, play: play, url: url})return render(request, hot_topics.html, {hot_topics: hot_topics})def getfirsttext(list):try:return list[0].strip()except:return 3、创建一个模板文件用来呈现数据。在你的应用程序中创建一个名为 templates 的文件夹并在其中创建一个名为 hot_topics.html 的文件 !-- 在 myapp/templates/hot_topics.html 文件中 --
!DOCTYPE html
html langen
headmeta charsetUTF-8meta http-equivX-UA-Compatible contentIEedgemeta nameviewport contentwidthdevice-width, initial-scale1.0title热门话题/title
/head
bodyh1热门话题/h1ul{% for topic in hot_topics %}lia href{{ topic.url }}{{ topic.title }}/a - 播放量: {{ topic.play }}/li{% endfor %}/ul
/body
/html 4、配置 URL 路由使得当用户访问特定的 URL 时能够触发 show_hot_topics 视图。在你的应用程序中的 urls.py 文件中编写如下代码 from django.urls import path
from .views import show_hot_topicsurlpatterns [path(hot-topics/, show_hot_topics, namehot_topics),
] 5、在myproject下的setting.py设置模板路径
# settings.pyTEMPLATES [{...DIRS: [BASE_DIR / myapp / templates], # 设置模板文件路径...}
] 6、在myproject下的urls.py添加URL配置 path(api/, include(myapp.urls)), myapp.urls就是指自己的模块文件
api/的话需要http://127.0.0.1:8000/api/hot-topics/ 这样去访问。
如果‘’的话则直接http://127.0.0.1:8000/hot-topics/
# myproject/urls.pyfrom django.urls import path, include
from django.contrib import adminurlpatterns [path(admin/, admin.site.urls),path(api/, include(myapp.urls)), # 包含应用程序的 URL 配置
]第四步启动开发服务器
进入刚刚创建的 myproject 目录并执行以下命令以启动开发服务器
cd myproject
python manage.py runserver
输入网址http://127.0.0.1:8000/api/hot-topics/ 注意这个url格式有加密所以访问不了很正常