浏览器中输入:“www.baidu.com”(网址)之后都发生了什么

浏览器中输入:“www.baidu.com”(网址)之后都发生了什么

1、由域名->IP地址 寻找IP地址的过程依次经过浏览器缓存、系统缓存、hosts文件、路由器缓存、递归搜索根域名服务区
2、建立TCP/IP连接(三次握手具体过程)
3、由浏览器发送一个HTTP请求
4、经过路由器的转发,通过服务器的防火墙,该HTTP请求达到了服务器
5、服务器处理该HTTP请求,返回一个HTML文件
6、浏览器解析该HTML文件,并且显示在浏览器端

三次握手四次挥手:

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
百度首页 | 百度空间 | 登录 广告停放提高网站流量,centos学习 主页博客相册|个人档案 查看文章 <br>.htaccess怎么用2007-05-16 14:04(文章来源)http://www.dnpark.com.cn/news/mm/www/1179329504375ZKlMSgYr.html<br><br>Apache服务器的.htaccess是一个非常强大的分布式配置文件,学会使用.htaccess,对虚拟主机用户来说,可以实现众多的功能。这里有一篇很容易让人理解的.htaccess介绍,作为入门文章非常的适合。文章最初来自freewebmasterhelp.com,QiRan作了简单的文翻译,我将加以完善。<br><br>Part 1 – Introduction介绍 <br>Part 2 - .htaccess Commande命令 <br>Part 3 - Password protection密码保护 <br>Part 1 – Introduction介绍<br><br>Introduction 介绍<br><br>In this tutorial you will find out about the .htaccess file and the power it has to improve your website. Although .htaccess is only a file, it can change settings on the servers and allow you to do many different things, the most popular being able to have your own custom 404 error pages. .htaccess isn't difficult to use and is really just made up of a few simple instructions in a text file.<br>从本指南,你将可以学习到有关.htaccess文件及其功能的知识,并用以优化你的网站。尽管.htaccess只是一个文件,但它可以更改服务器的设置,允许你做许多不同的事情,最流行的功能是您可以创建自定义的“404 error”页面。.htaccess 并不难于使用,归根结底,它只是在一个text文档添加几条简单的指令而已。<br><br>Will My Host Support It? 我的主机支持它吗?<br><br>This is probably the hardest question to give a simple answer to. Many hosts support .htaccess but don't actually publicise it and many other hosts have the capability but do not allow their users to have a .htaccess file. As a general rule, if your server runs Unix or Linux, or any version of the Apache web server it will support .htaccess, although your host may not allow you to use it.<br>这可能很难用简单的答案来回答。许多主机支持.htaccess,但实际上并不会特别声明,许多其他类型的主机有能力但并不允许他们的用户使用.htaccess。一般来说,如果你的主机使用Unix或Linux系统,或任何版本的Apache网络服务器,从理论上都是支持.htaccess的,尽管你的主机服务商可能不允许你使用它。<br><br>A good sign of whether your host allows .htaccess files is if they support password protection of folders. To do this they will need to offer .htaccess (although in a few cases they will offer password protection but not let you use .htaccess). The best thing to do if you are unsure is to either upload your own .htaccess file and see if it works or e-mail your web host and ask them.<br>判断你的主机是否允许.htaccess,一个标志很好的是它是否支持文件夹密码保护。为达到此功能,主机服务商需要使用.htaccess(当然,少数情况下他们虽提供密码保护功能,但却并不允许你使用.htaccess)。如果你不确定自己的主机是否支持.htaccess,最好的办法是上传你自己的.htaccess文件看看是否有用,或者直接发送e-mail向你的主机服务商咨询。<br><br>What Can I Do? 我该怎么做?<br><br>You may be wondering what .htaccess can do, or you may have read about some of its uses but don't realise how many things you can actually do with it.<br>你可能疑惑.htaccess到底能做些什么,或者你可能曾知道它的一些功能但并不真正了解你实际到底可以用它来做多少事情。<br><br>There is a huge range of things .htaccess can do including: password protecting folders, redirecting users automatically, custom error pages, changing your file extensions, banning users with certian IP addresses, only allowing users with certain IP addresses, stopping directory listings and using a different file as the index file.<br>.htaccess可以做大量的事情,包括:文件夹密码保护、用户自动重定向、自定义错误页面、改变你的文件扩展名、封禁特定IP地址的用户、只允许特定IP地址的用户、禁止目录列表,以及使用其他文件作为index文件。<br><br>Creating A .htaccess File 创建一个.htaccess文档<br><br>Creating a .htaccess file may cause you a few problems. Writing the file is easy, you just need enter the appropriate code into a text editor (like notepad). You may run into problems with saving the file. Because .htaccess is a strange file name (the file actually has no name but a 8 letter file extension) it may not be accepted on certain systems (e.g. Windows 3.1). With most operating systems, though, all you need to do is to save the file by entering the name as:<br>创建.htaccess文件也许会给你带来一些困难。写文件很容易,你只需要在文字编缉器(例如:写字板)里写下适当的代码。真正困难的可能是文件的保存,因为.htaccess是一个古怪的文件名(它事实上没有文件名,只有一个由8个字母组成的扩展名),而在一些系统(如windows 3.1)无法接受这样的文件名。在大多数的操作系统,你需要做的是将文档保存成名为:<br><br>".htaccess"<br>(including the quotes). If this doesn't work, you will need to name it something else (e.g. htaccess.txt) and then upload it to the server. Once you have uploaded the file you can then rename it using an FTP program.<br>(包括引号)。如果这也不行,你需要将其先命名为其它名字(例如htaccess.txt),再将其上传到服务器上,之后直接使用FTP软件来重命名。<br><br>Warning 警告<br><br>Before beginning using .htaccess, I should give you one warning. Although using .htaccess on your server is extremely unlikely to cause you any problems (if something is wrong it simply won't work), you should be wary if you are using the Microsoft FrontPage Extensions. The FrontPage extensions use the .htaccess file so you should not really edit it to add your own information. If you do want to (this is not recommended, but possible) you should download the .htaccess file from your server first (if it exists) and then add your code to the beginning.<br>在使用.htaccess之前,我必须给你一些警告。虽然在服务器上使用.htaccess绝对不太可能给你带来任何麻烦(如果有些东西错了,它只是没效用罢了),但如果你使用Microsoft FrontPage Extensions,就必须特别小心。因为FrontPage Extensions本身使用了.htaccess,因此你不能编辑它并加入你自己的信息。如果确实有这方面的需要(并不推荐,但是可能),你应该先从服务器上下载.htaccess文档(如果存在),之后在前面加上你的代码。<br><br>Custom Error Pages 自定义错误页<br><br>The first use of the .htaccess file which I will cover is custom error pages. These will allow you to have your own, personal error pages (for example when a file is not found) instead of using your host's error pages or having no page. This will make your site seem much more professional in the unlikely event of an error. It will also allow you to create scripts to notify you if there is an error (for example I use a PHP script on Free Webmaster Help to automatically e-mail me when a page is not found).<br>我要介绍的.htaccess的第一个应用是自定义错误页面,这将使你可以拥有自己的、个性化的错误页面(例如找不到文件时),而不是你的服务商提供的错误页或没有任何页面。这会让你的网站在出错的时候看上去更专业。你还可以利用脚本程序在发生错误的时候通知你(例如我使用Free Webmaster Help的PHP脚本程序,当找不到页面的时候自动e-mail给我)。<br><br>You can use custom error pages for any error as long as you know its number (like 404 for page not found) by adding the following to your .htaccess file:<br>你所知道的任何页面错误代码(像404找不到页面),都可以通过在.htaccess文件里加入下面的文字将其变成自定义页面:<br><br>rrorDocument errornumber /file.html<br>For example if I had the file notfound.html in the root direct<br>ory of my site and I wanted to use it for a 404 error I would use:<br>举例来说,如果我的根目录下有一个nofound.html文件,我想使用它作为404 error的页面:<br><br>ErrorDocument 404 /notfound.html<br>If the file is not in the root directory of your site, you just need to put the path to it:<br>如果文件不在网站的根目录下,你只需要把路径设置为:<br><br>ErrorDocument 500 /errorpages/500.html<br>These are some of the most common errors:<br>以下是一些最常用的错误:<br><br>401 - Authorization Required 需要验证<br>400 - Bad request 错误请求<br>403 - Forbidden 禁止<br>500 - Internal Server Error 内部服务器错误<br>404 - Wrong page 找不到页面<br>Then, all you need to do is to create a file to display when the error happens and upload it and the .htaccess file.<br>接下来,你要做的只是创建一个错误发生时显示的文件,然后把它们和.htaccess一起上传。<br><br><br>Part 2 - .htaccess 命令<br><br>Introduction 介绍<br><br>In the last part I introduced you to .htaccess and some of its useful features. In this part I will show you how to use the .htaccess file to implement some of these.<br>在上一部分,我已经简单介绍了.htaccess以及它的一些有用功能,在这一部分,我将向你演示如何使用.htaccess文档去实现这些功能。<br><br>Stop A Directory Index From Being Shown 停示显示目录列表<br><br>Sometimes, for one reason or another, you will have no index file in your directory. This will, of course, mean that if someone types the directory name into their browser, a full listing of all the files in that directory will be shown. This could be a security risk for your site.<br>有些时候,由于某种原因,你的目录里没有index文件,这意味着当有人在浏览器地址栏键入了该目录的路径,该目录下所有的文件都会显示出来,这会给你的网站留下安全隐患。<br><br>To prevent against this (without creating lots of new 'index' files, you can enter a command into your .htaccess file to stop the directory list from being shown:<br>为避免这种情况(而不必创建一堆的新index文件),你可以在你的.htaccess文档键入以下命令,用以阻止目录列表的显示:<br><br>Options -Indexes<br>Deny/Allow Certian IP Addresses 阻止/允许特定的IP地址<br><br>In some situations, you may want to only allow people with specific IP addresses to access your site (for example, only allowing people using a particular ISP to get into a certian directory) or you may want to ban certian IP addresses (for example, keeping disruptive memembers out of your message boards). Of course, this will only work if you know the IP addresses you want to ban and, as most people on the internet now have a dynamic IP address, so this is not always the best way to limit usage.<br>某些情况下,你可能只想允许某些特定IP的用户可以访问你的网站(例如:只允许使用特定ISP的用户进入某个目录),或者想封禁某些特定的IP地址(例如:将低级用户隔离于你的信息版面外)。当然,这只在你知道你想拦截的IP地址时才有用,然而现在网上的大多数用户都使用动态IP地址,所以这并不是限制使用的常用方法。<br><br>You can block an IP address by using:<br>你可以使用以下命令封禁一个IP地址:<br><br>deny from 000.000.000.000<br>where 000.000.000.000 is the IP address. If you only specify 1 or 2 of the groups of numbers, you will block a whole range.<br>这里的000.000.000.000是被封禁的IP地址,如果你只指明了其的几个,则可以封禁整个网段的地址。如你输入210.10.56.,则将封禁210.10.56.0~210.10.56.255的所有IP地址。<br><br>You can allow an IP address by using:<br>你可以使用以下命令允许一个IP地址访问网站:<br><br>allow from 000.000.000.000<br>where 000.000.000.000 is the IP address. If you only specify 1 or 2 of the groups of numbers, you will allow a whole range.<br>被允许的IP地址则为000.000.000.000,你可以象封禁IP地址一样封禁整个网段。<br><br>If you want to deny everyone from accessing a directory, you can use:<br>如果你想阻止所有人访问该目录,则可以使用:<br><br>deny from all<br>but this will still allow scripts to use the files in the directory.<br>不过这并不影响脚本程序使用这个目录下的文档。<br><br>Alternative Index Files 替换index文件<br><br>You may not always want to use index.htm or index.html as your index file for a directory, for example if you are using PHP files in your site, you may want index.php to be the index file for a directory. You are not limited to 'index' files though. Using .htaccess you can set foofoo.blah to be your index file if you want to!<br>也许你不想一直使用index.htm或index.html作为目录的索引文件。举例来说,如果你的站点使用PHP文件,你可能会想使用index.php来作为该目录的索引文档。当然也不必局限于“index”文档,如果你愿意,使用.htaccess你甚至能够设置foofoo.balh来作为你的索引文档!<br><br>Alternate index files are entered in a list. The server will work from left to right, checking to see if each file exists, if none of them exisit it will display a directory listing (unless, of course, you have turned this off).<br>这些互为替换的索引文件可以排成一个列表,服务器会从左至右进行寻找,检查哪个文档在真实的目录存在。如果一个也找不到,它将会把目录列表显示出来(除非你已经关闭了显示目录文件列表)。<br><br>DirectoryIndex index.php index.php3 messagebrd.pl index.html index.htm<br>Redirection 重定向<br><br>One of the most useful functions of the .htaccess file is to redirect requests to different files, either on the same server, or on a completely different web site. It can be extremely useful if you change the name of one of your files but allow users to still find it. Another use (which I find very useful) is to redirect to a longer URL, for example in my newsletters I can use a very short URL for my affiliate links. The following can be done to redirect a specific file:<br>.htaccess最有用的功能之一就是将请求重定向到同站内或站外的不同文档。这在你改变了一个文件名称,但仍然想让用户用旧地址访问到它时,变的极为有用。另一个应用(我发现的很有用的)是重定向到一个长URL,例如在我的时事通讯,我可以使用一个很简短的URL来指向我的会员链接。以下是一个重定向文件的例子:<br><br>Redirect /location/from/root/file.ext<br>http://www.othersite.com/new/file/location.xyz<br>In this above example, a file in the root directory called oldfile.html would be entered as:<br>上述例子,访问在root目录下的名为oldfile.html可以键入:<br><br>/oldfile.html<br>and a file in the old subdirectory would be entered as:<br>访问一个旧次级目录的文件可以键入:<br><br>/old/oldfile.html<br>You can also redirect whole directoires of your site using the .htaccess file, for example if you had a directory called olddirectory on your site and you had set up the same files on a new site at: http://www.newsite.com/newdirectory/ you could redirect all the files in that directory without having to specify each one:<br>你也可以使用.htaccess重定向整个网站的目录。假如你的网站上有一个名为olddirectory的目录,并且你已经在一个新网站 http://www.newsite.com/newdirectory/上建立了与上相同的文档,你可以将旧目录下所有的文件做一次重定向而不必一一声明:<br><br>Redirect /olddirectory http://www.newsite.com/newdirectory<br>Then, any request to your site below /olddirectory will bee redirected to the new site, with the<br>extra information in the URL added on, for example if someone typed in:<br>这样,任何指向到站点/olddirectory目录的请求都将被重新指向新的站点,包括附加的额外URL信息。例如有人键入:<br><br>http://www.youroldsite.com/olddirecotry/oldfiles/images/image.gif<br>They would be redirected to:<br>请求将被重定向到:<br><br>http://www.newsite.com/newdirectory/oldfiles/images/image.gif<br>This can prove to be extremely powerful if used correctly.<br>如果正确使用,此功能将极其强大。<br><br>Part 3 – 密码保护<br><br>Introduction 介绍<br><br>Although there are many uses of the .htaccess file, by far the most popular, and probably most useful, is being able to relaibly password protect directories on websites. Although JavaScript etc. can also be used to do this, only .htaccess has total security (as someone must know the password to get into the directory, there are no 'back doors')<br>尽管有各种各样的.htaccess用法,但至今最流行的也可能是最有用的做法是将其用于网站目录可靠的密码保护。尽管JavaScrip等也能做到,但只有.htaccess具有完美的安全性(即访问者必须知晓密码才可以访问目录,并且绝无“后门”可走)。<br><br>The .htaccess File 密码保护的.htaccess文件<br><br>Adding password protection to a directory using .htaccess takes two stages. The first part is to add the appropriate lines to your .htaccess file in the directory you would like to protect. Everything below this directory will be password protected:<br>利用.htaccess将一个目录加上密码保护分两个步骤。第一步是在你的.htaccess文档里加上适当的几行代码,再将.htaccess文档放进你要保护的目录下:<br><br>AuthName "Section Name"<br>AuthType Basic<br>AuthUserFile /full/path/to/.htpasswd<br>Require valid-user<br>There are a few parts of this which you will need to change for your site. You should replace "Section Name" with the name of the part of the site you are protecting e.g. "Members Area".<br>你可能需要根据你的网站情况修改一下上述内容的一些部分,如用被保护部分的名字"Members Area",替换掉“Section Name”。<br><br>The /full/parth/to/.htpasswd should be changed to reflect the full server path to the .htpasswd file (more on this later). If you do not know what the full path to your webspace is, contact your system administrator for details.<br>/full/parth/to/.htpasswd则应该替换为指向.htpasswd文件(后面详述该文档)的完整服务器路径。如果你不知道你网站空间的完整路径,请询问一下你的系统管理员。<br><br>The .htpasswd File 密码保护的.htpasswd文件<br><br>Password protecting a directory takes a little more work than any of the other .htaccess functions because you must also create a file to contain the usernames and passwords which are allowed to access the site. These should be placed in a file which (by default) should be called .htpasswd. Like the .htaccess file, this is a file with no name and an 8 letter extension. This can be placed anywhere within you website (as the passwords are encrypted) but it is advisable to store it outside the web root so that it is impossible to access it from the web.<br>目录的密码保护比.htaccess的其他功能要麻烦些,因为你必须同时创建一个包含用户名和密码的文档,用于访问你的网站,相关信息(默认)位于一个名为.htpasswd的文档里。像.htaccess一样,.htpasswd也是一个没有文件名且具有8位扩展名的文档,可以放置在你网站里的任何地方(此时密码应加密),但建议你将其保存在网站Web根目录外,这样通过网络就无法访问到它了。<br><br>Entering Usernames And Passwords 输入用户名和密码<br><br>Once you have created your .htpasswd file (you can do this in a standard text editor) you must enter the usernames and passwords to access the site. They should be entered as follows:<br>创建好.htpasswd文档后(可以通过文字编辑器创建),下一步是输入用于访问网站的用户名和密码,应为:<br><br>username:password<br>where the password is the encrypted format of the password. To encrypt the password you will either need to use one of the premade scripts available on the web or write your own. There is a good username/password service at the KxS site which will allow you to enter the user name and password and will output it in the correct format.<br>“password”的位置应该是加密过的密码。你可以通过几种方法来得到加密过的密码:一是使用一个网上提供的permade脚本或自己写一个;另一个很不错的username/password加密服务是通过KxS网站,这里允许你输入用户名及密码,然后生成正确格式的密码。<br><br>For multiple users, just add extra lines to your .htpasswd file in the same format as the first. There are even scripts available for free which will manage the .htpasswd file and will allow automatic adding/removing of users etc.<br>对于多用户,你只需要在.htpasswd文档新增同样格式的一行即可。另外还有一些免费的脚本程序可以方便地管理.htpasswd文档,可以自动新增/移除用户等。<br><br>Accessing The Site 访问网站<br><br>When you try to access a site which has been protected by .htaccess your browser will pop up a standard username/password dialog box. If you don't like this, there are certain scripts available which allow you to embed a username/password box in a website to do the authentication. You can also send the username and password (unencrypted) in the URL as follows:<br>当你试图访问被.htaccess密码保护的目录时,你的浏览器会弹出标准的username/password对话窗口。如果你不喜欢这种方式,有些脚本程序可以允许你在页面内嵌入username/password输入框来进行认证,你也可以在浏览器的URL框内以以下方式输入用户名和密码(未加密的):<br><br>http://username:password@www.website.com/directory/<br>Summary 小结<br><br>.htaccess is one of the most useful files a webmaster can use. There are a wide variety of different uses for it which can save time and increase security on your website.<br>.htaccess是一个站点管理员可以应用的强大工具,有更多的变化以适应不同的用途,可以节约时间及提高网站的安全性。<br><br>相关阅读:<br><br><br>KxS Password Encrypter <br>Apache .htaccess Documentation <br>More .htaccess Sites <br>Related Reading <br><br>.htaccess的特别说明<br><br><br>启用.htaccess,需要修改httpd.conf,启用AllowOverride,并可以用AllowOverride限制特定命令的使用 <br>如果需要使用.htaccess以外的其他文件名,可以用AccessFileName指令来改变。例如,需要使用.config ,则可以在服务器配置文件按以下方法配置:<br><br>AccessFileName .config <br>一般情况下,不应该使用.htaccess文件,除非你对主配置文件没有访问权限。有一种很常见的误解,认为用户认证只能通过.htaccess文件实现,其实并不是这样,把用户认证写在主配置文件是完全可行的,而且是一种很好的方法。.htaccess文件应该被用在内容提供者需要针对特定目录改变服务器的配置而又没有root权限的情况下。如果服务器管理员不愿意频繁修改配置,则可以允许用户通过.htaccess文件自己修改配置,尤其是ISP在同一个机器上运行了多个用户站点,而又希望用户可以自己改变配置的情况下。虽然如此,一般都应该尽可能地避免使用.htaccess文件。任何希望放在.htaccess文件的配置,都可以放在主配置文件的<Directory>段,而且更高效。避免使用.htaccess文件有两个主要原因,即性能和安全。 <br> <br><br>类别:php+mysql+apache+zend | 添加到搜藏 | 浏览(40) 网友评论: 发表评论:姓 名: 注册 | 登录 *姓名最长为50字节 <br> <br>网址或邮箱: (选填) <br> <br>内 容: <br> <br>验证码: 请输入下图的四位验证码,字母不区分大小写。<br> 看不清? <br> <br><br> <br><br>©2007 Baidu
模板简介: 此模板用于爱站CMS内容管理系统。 "地方资讯站模板"适用于做多种多样的资讯信息,例如:IT资讯站、商业资讯站、影视资讯站、手机资讯站、个人主题站等等。此“地方资讯站模板”可一键式安装在爱站CMS系统,在安装时还可选择是否安装体验数据,通过爱站CMS后台,可海量添加资讯内容,模板列表页可供前端设计师人员任意调整显示条数及展示效果,爱站CMS系统提供大量标签,可供前端设计师人员根据自身需求调取后台相应数据。 模板使用方法: 1.解压模板包。 2.拷贝tpl_install文件夹到网站根目录,如果tpl_install目录已存在,先删除在粘贴或者强行覆盖即可。 3.在浏览器输入您的“**/tpl_install”回车即可运行模板安装程序,等待安装完成,按照提示操作即可。 4.安装完成以后务必删除tpl_install目录,避免发生二次安装。 5.恭喜您安装完成。 爱站 CMS 内容管理系统简介: 代码全部开源,可方便进行二次开发,功能模块可以自由安装与删除,个人用户免费使用,系统频道模块很多,适合作个人门户网站。模板免费使用,全站可设置为静态。该系统专门为企业网站(信息**台类、展示商品等)、政府机关、教育机构、个人站长等用户设计的,该免费软件可轻松打造专属于自己的网站。 爱站CMS内容系统特点: 1.爱站CMS是免费建站软件; 2.爱站CMS以不懂技术的用户为基础进行建站,灵活的模块组合,让网站更丰富,只需操作4步就可建站; 3.简单易用的模板引擎,网站界面想换就换; 4.便捷自定义模型; 5.高效的伪静态页面部署,有助于百度等知名搜索引擎录取信息; 6.流畅专业界面设计,良好的用户体验; 7.爱站CMS延续性较强,不断免费更新完善系统,后期将推出免费建商城模式; 8.爱站CMS即将推出免费版移动**台应用; 9.“爱站CMS软件”由铭万科技有限公司发布,开发团队庞大(铭万科技有限公司在全国成立了30间分公司,员工队伍超过3000人)。 爱站CMS是集安全高效、开放灵活、简洁美观几大特点的开源内容管理系统,是国内开源CMS的新星品牌,他与其他CMS产品不同,操作极其方便,建站只需半小时。
最新的 BB1407 openwrt-RG100A_DB120-squashfs-cfe.bin 固件 固件集成了,usb u盘 USB 摄像头uvc se2net:wifi串口 这是固件文件。主要编这个固件是做摄像头监控,集成motion 进行监控拍照保存到挂载的硬盘,挂载位置为/mnt/sda1/post motion。conf 复制到/etc/ 另外可以及在自己安装已个百度云盘同步。 我的是自动监控拍照然后上传置百度云盘上。我装的是Perl精简 测试很成功。值得拥有。我把文件都集成到已个包里自己安装。百度云盘自己安装 Python版已完成,可以支持4G以上的文件,需要的去网盘下载,同时Perl精简版也已完成,部分系统同样不能支持大文件,那个要看语言环境是否支持大文件。 ---------------------------------------------------------------------------------------------------------------------------- 上个月发布了个bash版的同步脚本,虽能与百度网盘之间实现上传、下载和同步,但性能不是很好,稳定性也不是那么完美,此后就想着如何能解决这两个问题,首先想到的是用C语言来写下,但是C语言写的要针对特定的设备进行编译,比较麻烦,后面就想到用Perl或Python来写,百度了一番都说Perl语言运行速度快,我在Open-WRT上看了下Perl的包也挺多,然后就写了个测试脚本,就是压缩同步数据的那段,然后在CentOS上运行测试了下,发现速度比bash快了几乎上百倍,于是毅然决定用Perl写了。Perl是一门语言,很多工作都是内部命令完成,不需要调用外部命令,性能有很大的提高,同时也降低了对内存的占用,我的路由是wndr3700,在同步文件时内存占用在8M上下,cpu占用在20%上下,比bash版降低很多,特别是cpu占用低很多,13000余个文件,做一次同步检查只需要不到3分钟(还是没有开启缓存),原来bash版跑了40分钟还没见完成,没有耐心等待就强制止了,具体好不好用自己感受吧。发布前我分别在Open-wrt 12.09和CentOS6.5上测试上传和下载了几个G的文件没有任何问题,可稳定运行。下面就开始说主题吧。 首先说下注意事项,主要是针对之前用过bash版的童鞋 1、Perl版的配置文件与bash版的有区别,新增加了一些配置项,也有减少的,也有些配置项改了更合适的名称,请按照配置文件里面的说明对应的设置,并把原来配置文件最下面的device_code,refresh_token,access_token,expires_in,refresh_date这5个参数项复制到新的配置文件; 2、为了提高性能,Perl版的同步信息数据采用的是二进制存储,不兼容bash版的数据,但我提供了一个转换的命令,设置好配置文件后运行如下命令: syncy.pl convert 运行以上命令后就转换至新的数据格式,但是即使转换了,可能部分有文名的文件同步过了,系统还会认为没有同步,因为Perl语言支持的UTF8文需要开启标志位,这就导致在获取路径名的md5码与bash版的不同,要是数据量不是很大,重新上传或下载不需要很长时间,就让它重新上传或下载次,要是数据量很大,基本还都是下载的,可以先把同步类型设置为0或1,待同步完成之后再改成你想要的同步方式(此种方式能快?俳⒁淹降奈募畔ⅲ? 3、如同步类型为4-sync,且更改了远程同步目录(包括更换绑定用户),请删除本地根目录下的“.syncy.info.db”文件,否则在下次同步时将会删除本地的所有文件(系统会认为远程文件不需要被用户删除,也会删除本地的相应文件)。 下面就说下具体的安排配置方法: 1、检查系统环境。要想这个同步脚本正常运行,系统必须安装libcurl,openssl,perl,以及perl包,在openwrt上所需的perl包名称如下: perl perlbase-essential perlbase-digest perlbase-base perlbase-utf8 perlbase-encode perlbase-xsloader perlbase-bytes perl-www-curl perlbase-file perlbase-dynaloader perlbase-config perlbase-autoloader perl-uri perlbase-text perlbase-unicore 安装以上包需要3M多的空闲空间,如空间空间不足,只有通过u盘来扩展了。如是其它系统,请对应的安装相应的包,在cpan.org网站上可通过perlbase-后面的名称来搜索相应的包并下载源码,各个包还可能依赖别的包,如运行报错,提示缺少包,请根据提示安装相应的包。 2、从我的网盘里下载Perl版程序,下载地址:http://syncyhome.duapp.com/index.php/download/(这个是我部署的一个博客,网盘分享有时无缘无故的被禁了),里面有个使用协议,请仔细阅读下哦。有2个文件是本程序必须的,分别是:syncy.pl和syncy.conf,第一个是同步程序,第二个是配置文件。首先把syncy.pl上传到路由上,建议放到/usr/bin目录里(当然也可放在其他地方),并syncy.pl可执行权限(chmod 755 /usr/bin/syncy.pl);然后用editplus或ultraedit 等工具来编辑syncy.conf文件,按照里面的说明来修改相应字段值,修改完成后,把syncy.conf传到路由上的/etc/config目录下,当然也可以放到别的目录里,如果放在别的目录里请修改syncy.pl第29行的$config_file变量值。 (相比较bash版,减少了个unicodetable.txt文件,Perl语言内部有转码的方法,不再需要此文件了,bash版是因为在openwrt上没有转码的命令才加上这个对照表的。) (已绑定的用户可跳过3、4步) 3、下面开始把SyncY与百度帐号绑定了,先运行命令root@Router:/bin# /usr/bin/syncy.pl,系统会提示打开百度授权网址输入用户码; 用浏览器打开网址:https://openapi.baidu.com/device,如果没有?锹迹胂鹊锹及俣龋缓螅突岢鱿秩媚闶淙肷璞嘎氲囊趁妫焐痔逑允镜纳璞嘎耄? 输入完成设备码后,点“继续”按钮; 之后进入授权确认的页面,右边的多选框都都选上哦,然后点“授权”按钮完成授权,完成授权后,浏览器显示授权成功的信息; 至此授权完成,我们还需要回来路由器上,按回车键继续完成设备绑定工作。 绑定完设备后就会显示“Get device token success"的信息,并开始同步操作了,如果已经设置了同步文件夹的话。 4、绑定完设备后,先来测试下你的设备上是否能支持文,执行命令(perl版几乎可以跳过此步): root@Router:/bin# /usr/bin/syncy.pltestchinese /tmp 命令执行完后,系统会在/tmp目录下创建个“文转码测试”的文件,在终端显示的会是乱码,不用担心,这不是表示系统不支持文,你可以通过ftp或网上邻居来看看是不是能正常显示。 5、设置了配置文件的syncperiod和syncinterval后,同步程序启动后就会一直运行,但每次路由启动后需要手动启动,或通过定时任务启动,下面介绍下在openwrt上如何设置自动启动,其它系统不太了解,请看完此段后百度下具体的设置方法。如果实在没别的办法来实现自动运行,可以设置个后台运行的定时任务,程序会检查是否已经有实例正在运行,有的话后启动的进程会自动退出。 Openwrt实现方法是在/etc/init.d目录下创建个syncy文件并授予可执行权限,文件内容如下: #!/bin/sh /etc/rc.common # Copyright (C) 2006-2011 OpenWrt.org START=99 STOP=10 start() { syncy.pl & #如果不在/usr/bin目录下,也不在其他PATH搜索路径请写全路径 } stop() { killallsyncy.pl } 保存后运行命令 /etc/init.d/syncy enable restart 这样就可以自动启动了,但现在还没有运行,可运行命令/etc/init.d/syncy start 来启动程序,也可以通过命令/etc/init.d/syncy stop来停止程序,有管理界面的也可以在启动项里来启动或停止同步程序。 最后,希望大家在使用要是发现了程序哪有什么bug,能通过邮件或空间留言反馈给我,以便及时更正,编写此程序也是出于爱好,Perl语言也是我写此程序时才学习的,难免有错误发生。我是个Perl语言的初学者,有些算法可能不是最优的,如觉得有更好的方法能让程序运行的更快速稳定,也希望各位读者不吝赐教,继续优化程序,造福广大有需要的同学。 转载请注明来源,并保留程序及使用协议的完整性。
此模板用于爱站CMS内容管理系统。 此蓝色机电设备企业站模板包可一键式安装,在安装时还可选择是否安装体验数据,此套模板整站用蓝色渐变做背景!以简洁、大方为主体,给人很舒服的感觉,模板设计了"公司简介"、"公司动态"、"产品展示"、"荣誉案例"、"联系我们"、"访客留言"这些都是做为企业站的核心内容。 模板使用方法: 1.解压模板包。 2.拷贝tpl_install文件夹到网站根目录,如果tpl_install目录已存在,先删除在粘贴或者强行覆盖即可。 3.在浏览器输入您的“**/tpl_install”回车即可运行模板安装程序,等待安装完成,按照提示操作即可。 4.安装完成以后务必删除tpl_install目录,避免发生二次安装。 5.恭喜您安装完成。 爱站 CMS 内容管理系统:代码全部开源,可方便进行二次开发,功能模块可以自由安装与删除,个人用户免费使用,系统频道模块很多,适合作个人门户网站。精美模板免费使用,页面可设置静态页。该系统专门为企业网站(信息**台类、展示商品等)、政府机关、教育机构、个人站长等用户设计的,该免费软件可轻松打造专属于自己的网站。 爱站CMS内容系统特点: 1.爱站CMS是免费建站软件; 2.爱站CMS以不懂技术的用户为基础进行建站,灵活的模块组合,让网站更丰富,只需操作4步就可建站; 3.简单易用的模板引擎,网站界面想换就换; 4.便捷自定义模型; 5.高效的伪静态页面部署,有助于百度等知名搜索引擎录取信息; 6.流畅专业界面设计,良好的用户体验; 7.爱站CMS延续性较强,不断免费更新完善系统,后期将推出免费建商城模式; 8.爱站CMS即将推出免费版移动**台应用; 9.“爱站CMS软件”由铭万科技有限公司发布,开发团队庞大(铭万科技有限公司在全国成立了30间分公司,员工队伍超过3000人)。 爱站CMS是集安全高效、开放灵活、简洁美观几大特点的开源内容管理系统,是国内开源CMS的新星品牌,他与其他CMS产品不同,操作极其方便,建站只需半小时。
Python入门网络爬虫之精华版 Python学习网络爬虫主要分3个大的版块:抓取,分析,存储 另外,比较常用的爬虫框架Scrapy,这里最后也详细介绍一下。 首先列举一下本人总结的相关文章,这些覆盖了入门网络爬虫需要的基本概念和技巧:宁哥的小站-网络爬虫 当我们在浏览器输入一个url后回车,后台会发生什么?比如说你输入http://www.lining0806.com/,你就会看到宁哥的小站首页。 简单来说这段过程发生了以下四个步骤: 查找域名对应的IP地址。 向IP对应的服务器发送请求。 服务器响应请求,发回网页内容。 浏览器解析网页内容。 网络爬虫要做的,简单来说,就是实现浏览器的功能。通过指定url,直接返回给用户所需要的数据,而不需要一步步人工去操纵浏览器获取。 抓取 这一步,你要明确要得到的内容是什么?是HTML源码,还是Json格式的字符串等。 1. 最基本的抓取 抓取大多数情况属于get请求,即直接从对方服务器上获取数据。 首先,Python自带urllib及urllib2这两个模块,基本上能满足一般的页面抓取。另外,requests也是非常有用的包,与此类似的,还有httplib2等等。 Requests: import requests response = requests.get(url) content = requests.get(url).content print "response headers:", response.headers print "content:", content Urllib2: import urllib2 response = urllib2.urlopen(url) content = urllib2.urlopen(url).read() print "response headers:", response.headers print "content:", content Httplib2: import httplib2 http = httplib2.Http() response_headers, content = http.request(url, 'GET') print "response headers:", response_headers print "content:", content 此外,对于带有查询字段的url,get请求一般会将来请求的数据附在url之后,以?分割url和传输数据,多个参数用&连接。 data = {'data1':'XXXXX', 'data2':'XXXXX'} Requests:data为dict,json import requests response = requests.get(url=url, params=data) Urllib2:data为string import urllib, urllib2 data = urllib.urlencode(data) full_url = url+'?'+data response = urllib2.urlopen(full_url) 相关参考:网易新闻排行榜抓取回顾 参考项目:网络爬虫之最基本的爬虫:爬取网易新闻排行榜 2. 对于登陆情况的处理 2.1 使用表单登陆 这种情况属于post请求,即先向服务器发送表单数据,服务器再将返回的cookie存入本地。 data = {'data1':'XXXXX', 'data2':'XXXXX'} Requests:data为dict,json import requests response = requests.post(url=url, data=data) Urllib2:data为string import urllib, urllib2 data = urllib.urlencode(data) req = urllib2.Request(url=url, data=data) response = urllib2.urlopen(req) 2.2 使用cookie登陆 使用cookie登陆,服务器会认为你是一个已登陆的用户,所以就会返回给你一个已登陆的内容。因此,需要验证码的情况可以使用带验证码登陆的cookie解决。 import requests requests_session = requests.session() response = requests_session.post(url=url_login, data=data) 若存在验证码,此时采用response = requests_session.post(url=url_login, data=data)是不行的,做法应该如下: response_captcha = requests_session.get(url=url_login, cookies=cookies) response1 = requests.get(url_login) # 未登陆 response2 = requests_session.get(url_login) # 已登陆,因为之前拿到了Response Cookie! response3 = requests_session.get(url_results) # 已登陆,因为之前拿到了Response Cookie! 相关参考:网络爬虫-验证码登陆 参考项目:网络爬虫之用户名密码及验证码登陆:爬取知乎网站 3. 对于反爬虫机制的处理 3.1 使用代理 适用情况:限制IP地址情况,也可解决由于“频繁点击”而需要输入验证码登陆的情况。 这种情况最好的办法就是维护一个代理IP池,网上有很多免费的代理IP,良莠不齐,可以通过筛选找到能用的。对于“频繁点击”的情况,我们还可以通过限制爬虫访问网站的频率来避免被网站禁掉。 proxies = {'http':'http://XX.XX.XX.XX:XXXX'} Requests: import requests response = requests.get(url=url, proxies=proxies) Urllib2: import urllib2 proxy_support = urllib2.ProxyHandler(proxies) opener = urllib2.build_opener(proxy_support, urllib2.HTTPHandler) urllib2.install_opener(opener) # 安装opener,此后调用urlopen()时都会使用安装过的opener对象 response = urllib2.urlopen(url) 3.2 时间设置 适用情况:限制频率情况。 Requests,Urllib2都可以使用time库的sleep()函数: import time time.sleep(1) 3.3 伪装成浏览器,或者反“反盗链” 有些网站会检查你是不是真的浏览器访问,还是机器自动访问的。这种情况,加上User-Agent,表明你是浏览器访问即可。有时还会检查是否带Referer信息还会检查你的Referer是否合法,一般再加上Referer。 headers = {'User-Agent':'XXXXX'} # 伪装成浏览器访问,适用于拒绝爬虫的网站 headers = {'Referer':'XXXXX'} headers = {'User-Agent':'XXXXX', 'Referer':'XXXXX'} Requests: response = requests.get(url=url, headers=headers) Urllib2: import urllib, urllib2 req = urllib2.Request(url=url, headers=headers) response = urllib2.urlopen(req) 4. 对于断线重连 不多说。 def multi_session(session, *arg): retryTimes = 20 while retryTimes>0: try: return session.post(*arg) except: print '.', retryTimes -= 1 或者 def multi_open(opener, *arg): retryTimes = 20 while retryTimes>0: try: return opener.open(*arg) except: print '.', retryTimes -= 1 这样我们就可以使用multi_session或multi_open对爬虫抓取的session或opener进行保持。 5. 多进程抓取 这里针对华尔街见闻进行并行抓取的实验对比:Python多进程抓取 与 Java单线程和多线程抓取 相关参考:关于Python和Java的多进程多线程计算方法对比 6. 对于Ajax请求的处理 对于“加载更多”情况,使用Ajax来传输很多数据。 它的工作原理是:从网页的url加载网页的源代码之后,会在浏览器里执行JavaScript程序。这些程序会加载更多的内容,“填充”到网页里。这就是为什么如果你直接去爬网页本身的url,你会找不到页面的实际内容。 这里,若使用Google Chrome分析”请求“对应的链接(方法:右键→审查元素→Network→清空,点击”加载更多“,出现对应的GET链接寻找Type为text/html的,点击,查看get参数或者复制Request URL),循环过程。 如果“请求”之前有页面,依据上一步的网址进行分析推导第1页。以此类推,抓取抓Ajax地址的数据。 对返回的json格式数据(str)进行正则匹配。json格式数据,需从'\uxxxx'形式的unicode_escape编码转换成u'\uxxxx'的unicode编码。 7. 自动化测试工具Selenium Selenium是一款自动化测试工具。它能实现操纵浏览器,包括字符填充、鼠标点击、获取元素、页面切换等一系列操作。总之,凡是浏览器能做的事,Selenium都能够做到。 这里列出在给定城市列表后,使用selenium来动态抓取去哪儿网的票价信息的代码。 参考项目:网络爬虫之Selenium使用代理登陆:爬取去哪儿网站 8. 验证码识别 对于网站有验证码的情况,我们有三种办法: 使用代理,更新IP。 使用cookie登陆。 验证码识别。 使用代理和使用cookie登陆之前已经讲过,下面讲一下验证码识别。 可以利用开源的Tesseract-OCR系统进行验证码图片的下载及识别,将识别的字符传到爬虫系统进行模拟登陆。当然也可以将验证码图片上传到打码平台上进行识别。如果不成功,可以再次更新验证码识别,直到成功为止。 参考项目:Captcha1 爬取有两个需要注意的问题: 如何监控一系列网站的更新情况,也就是说,如何进行增量式爬取? 对于海量数据,如何实现分布式爬取? 分析 抓取之后就是对抓取的内容进行分析,你需要什么内容,就从提炼出相关的内容来。 常见的分析工具有正则表达式,BeautifulSoup,lxml等等。 存储 分析出我们需要的内容之后,接下来就是存储了。 我们可以选择存入文本文件,也可以选择存入MySQL或MongoDB数据库等。 存储有两个需要注意的问题: 如何进行网页去重? 内容以什么形式存储? Scrapy Scrapy是一个基于Twisted的开源的Python爬虫框架,在工业应用非常广泛。 相关内容可以参考基于Scrapy网络爬虫的搭建,同时给出这篇文章介绍的微信搜索爬取的项目代码,给大家作为学习参考。 参考项目:使用Scrapy或Requests递归抓取微信搜索结果

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值