古鸽或百度的镜子:
 
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. PhoenixFD插件流体模拟——UI布局【Input】详解

    Liquid Input 流体输入 本文主要讲解Input折叠栏中的内容.原文地址:https://docs.chaosgroup.com/display/PHX3MAX/Liquid+Input 主 ...

  2. sqlserver2017 SSAS配置远程访问不成功的问题

    sqlserver2017 SSAS通过IIS配置远程访问一直访问不成功的解决办法: 出现这个问题的原因从微软给出的更新包中说的就是: 从 SQL Server 2017 开始,Analysis Se ...

  3. 自动化测试框架对比(UIAutomator、Appium)

    在Android端,appium基于WebDriver协议,利用Bootstrap.jar,最后通过调⽤用UiAutomator的命令,实现App的自动化测试. UiAutomator测试框架是And ...

  4. HashMap、Hashtable、ConcurrentHashMap的原理与区别(简述)

    HashTable 底层数组+链表实现,无论key还是value都不能为null,线程安全,实现线程安全的方式是在修改数据时锁住整个HashTable,效率低,ConcurrentHashMap做了相 ...

  5. c# post方法亲测可用

    /// <summary> /// Post接口方法 /// </summary> /// <param name="requestUri">& ...

  6. Redis分布式缓存

    Redis 主 slave 数据库优化-- 加inex, 分区 JVM调优--参数设置,比如偏向于计算的如何设置? 线程池:queue放满了之后,有什么方式能让他不拒绝掉?blockqueue就等在那 ...

  7. 7E - The sum problem

    Given a sequence 1,2,3,......N, your job is to calculate all the possible sub-sequences that the sum ...

  8. 如何打开用eclipse没有.project文件的Java工程

    大概分为以下7个步骤,具体如下: 1.在你的eclipse下新建一个与你想要打开的源代码项目同名的一个项目(我这举例叫myweb). 2.在电脑磁盘中找到刚刚新建的项目,把它生成的.project文件 ...

  9. mr实现pagerank

    PageRank计算什么是pagerankPageRank是Google专有的算法,用于衡量特定网页相对于搜索引擎索引中的其他网页而言的重要程度.是Google创始人拉里·佩奇和谢尔盖·布林于1997 ...

  10. springcolud文章收藏

    https://blog.csdn.net/dyc87112/column/info/14412https://blog.csdn.net/dyc87112/article/details/79357 ...