古鸽或百度的镜子:
 
1、E:\django下建个文件夹名为搜索引擎→PyCharm新建项目选Django→location改为E:\django\搜索引擎→More Settings的Application写个search
***************分割线***************
2、项目文件夹搜索引擎:
 
①settings.py,只改语言和时区
 
②urls.py:
 
from django.conf.urls import url
from django.contrib import admin
from search import views
 
urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^$', views.index),
    url(r'^s', views.so),  #搜索网址尾是?及各参数,不加/和$;百度是s,古鸽是search
    url(r'^search', views.so),
]
***************分割线***************
3、应用文件夹search:
 
①新建俩文件夹templates和static:templates里存放复制自谷鸽首页的googleIndex.html,和强子院子写的baiduIndex.html;static放images\so.gif等强子所做的百度前端样式。
******分割线******
②views.py:
 
from django.shortcuts import render
from django.http import HttpResponse
import requests
from fake_useragent import UserAgent
 
def copySearchEngineData(word):
    h = {'User-Agent': UserAgent().random}
    #static文件夹,若是和manage.py同级,则前无/;若用的是在某个应用内建的,则加/
    #html=requests.get('https://www.baidu.com%s' %word,headers=h).text
    #html=html.replace('//www.baidu.com/img/baidu_jgylogo3.gif','/static/images/so.gif')
    s = requests.session()
    javascript=s.get('https://xs5.rqiao.net', headers=h).text.split('cookie\' : "')[1].split('"')[0]
    s.cookies['verynginx_sign_javascript']=javascript
    html = s.get('https://xs5.rqiao.net%s' %word, headers=h).text
    oldLogo='/images/branding/googlelogo/2x/googlelogo_color_120x44dp.png'
    html=html.replace(oldLogo,'/static/images/so.gif')
    return html
 
def index(request):
    return render(request,'googleIndex.html')   #baiduIndex.html
 
def so(request):
    #word=request.GET['wd']    #取输入框的值:text框的name属性的值,百度是wd,古鸽是q
    word=request.get_full_path()  #取网址中不含域名的后半截
    result=copySearchEngineData(word)
    return HttpResponse(result) #展示的是html文件用render,网页源代码则用HttpResponse
******分割线******
③baiduIndex.html:
 
{% load static from staticfiles %}
 
<!doctype html>
<html>
    <head><meta charset="UTF-8"><title>百度镜像</title></head>
 
<body>
    <p style="text-align:center">
        <strong><span style="color:white;font-size:36px;">更纯净,无广告!</span>
        <span style="font-size:18px;color:green">绿色的网络搜索环境</span></strong>
    </p>
 
    <div style="margin:auto;text-align:center;line-height:360px">
        <form action="/s" method="get">
        <input type="text" name="wd" style="width:500px;height:40px">
        <input type="submit" value="百度一下" style="height:45px">
        </form>
    </div>
</body>
</html>

djangoの2的更多相关文章

  1. 异步任务队列Celery在Django中的使用

    前段时间在Django Web平台开发中,碰到一些请求执行的任务时间较长(几分钟),为了加快用户的响应时间,因此决定采用异步任务的方式在后台执行这些任务.在同事的指引下接触了Celery这个异步任务队 ...

  2. 《Django By Example》第四章 中文 翻译 (个人学习,渣翻)

    书籍出处:https://www.packtpub.com/web-development/django-example 原作者:Antonio Melé (译者注:祝大家新年快乐,这次带来<D ...

  3. django server之间通过remote user 相互调用

    首先,场景是这样的:存在两个django web应用,并且两个应用存在一定的联系.某些情况下彼此需要获取对方的数据. 但是我们的应用肯经都会有对应的鉴权机制.不会让人家随随便便就访问的对吧.好比上车要 ...

  4. Mysql事务探索及其在Django中的实践(二)

    继上一篇<Mysql事务探索及其在Django中的实践(一)>交代完问题的背景和Mysql事务基础后,这一篇主要想介绍一下事务在Django中的使用以及实际应用给我们带来的效率提升. 首先 ...

  5. Mysql事务探索及其在Django中的实践(一)

    前言 很早就有想开始写博客的想法,一方面是对自己近期所学知识的一些总结.沉淀,方便以后对过去的知识进行梳理.追溯,一方面也希望能通过博客来认识更多相同技术圈的朋友.所幸近期通过了博客园的申请,那么今天 ...

  6. 《Django By Example》第三章 中文 翻译 (个人学习,渣翻)

    书籍出处:https://www.packtpub.com/web-development/django-example 原作者:Antonio Melé (译者注:第三章滚烫出炉,大家请不要吐槽文中 ...

  7. 《Django By Example》第二章 中文 翻译 (个人学习,渣翻)

    书籍出处:https://www.packtpub.com/web-development/django-example 原作者:Antonio Melé (译者注:翻译完第一章后,发现翻译第二章的速 ...

  8. 《Django By Example》第一章 中文 翻译 (个人学习,渣翻)

    书籍出处:https://www.packtpub.com/web-development/django-example 原作者:Antonio Melé (译者注:本人目前在杭州某家互联网公司工作, ...

  9. Django

    一.Django 简介 Django 是一个由 Python 写成的开放源代码的 Web 应用框架.它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的,即是 CMS(内容管理系统) ...

  10. Django admin定制化,User字段扩展[原创]

    前言 参考上篇博文,我们利用了OneToOneField的方式使用了django自带的user,http://www.cnblogs.com/caseast/p/5909248.html , 但这么用 ...

随机推荐

  1. 内网主机使用yum安装软件

    经常遇到这样的情况:有一台内网linux主机需要安装软件,但是主机又无法连接外网,通常情况下可以使用rpm包或者使用源码编译安装.但常常会遇到依赖缺少的情况,这就麻烦了,要一一找到缺少的软件包. 这种 ...

  2. python之字符串及其方法---整理集

    字符串方法 1.capitalize方法:字符串首字母大写 举例: test="alex" v=test.capitalize() print(v) 返回结果: Alex 2.ca ...

  3. [InstFiles]在Inno中打包隐藏和系统文件的头文件

    本文来自:http://www.kngstr.com 简介: 一直以来,Inno的作者都没有提供打包隐藏文件和系统文件的功能. 但是,如果我们做批量打包,批量封装的时候,总会需要这样的功能,因为我们不 ...

  4. innodb_flush_log_at_trx_commit与sync_binlog理解

    innodb_flush_log_at_trx_commit该参数控制重做日志写入磁盘的过程.我们知道 InnoDB 使用“Write Ahead Log”策略来避免数据丢失问题,即依靠重做日志来保证 ...

  5. scapy基础之一 ----简单命令

    前言 scapy是python写的一个功能强大的交互式数据包处理程序,可用来发送.嗅探.解析和伪造网络数据包,常常被用到网络攻击和测试中.下面介绍简单命令. ls() List all availab ...

  6. python3 urllib 类

    urllib模块中的方法 1.urllib.urlopen(url[,data[,proxies]]) 打开一个url的方法,返回一个文件对象,然后可以进行类似文件对象的操作.本例试着打开google ...

  7. [转]Cloudera Manager和CDH5.8离线安装

    https://blog.csdn.net/zzq900503/article/details/52982828 https://www.cnblogs.com/felixzh/p/9082344.h ...

  8. nodejs前端接口与状态转换调试

    和UI无关的逻辑用browser 调有时不太方便,配置 node 命令行调试环境方法如下: cnpm install @babel/core @babel/cli @babel/register @b ...

  9. 如何解决出现AXIOS的跨域问题:Request header field Content-Type is not allowed by Access-Control-Allow-Headers in preflight response.

    转载:https://www.cnblogs.com/caimuqing/p/6733405.html 问题描述: 由于restful接口需要在头部header传递两个字段: Content-Type ...

  10. 7K - find your present (2)

    In the new year party, everybody will get a "special present".Now it's your turn to get yo ...