其他分享
首页 > 其他分享> > 跟DW学Django-T1

跟DW学Django-T1

作者:互联网

Task1 - Python与前端基础知识回顾

由于本文章主要是记录课程中新的或者不熟悉的知识点,所以并没有将所有的内容都往上放,请见谅。

Python知识回顾

本节课程中包含以下内容:

a = 10
b = 20
if a > b and print(b):
	print('ok')
else:
	print('not ok')
# 以上返回结果为:not ok
# 上述结果没有打印b,是因为前半句"a>b"已经让判断语句返回值为False,剩余的部分也不用再看
for i in range(3):
	print(i)
else:
	print('done')
# 以上返回结果为:
'''
0
1
2
done
'''
# else在完成循环后被执行,除非之前存在break跳出循环

HTML 知识回顾

本节课程,通过创建一个网页来展示一个html网页会带有的内容,具体以下内容:

HTML的语法(结构)

<html>
    <head>
    <!-- 头部一般存放样式——css(定义美观)和 js(定义行为和反应) -->
    	<script> <!--script放在head中,每当页面更新就会同步更新;放在body里,只有当页面更新完,body的script才会更新-->
    		function test(){
    			alter(1234);
			}
    	</script>
    	<style> <!--确定样式-->

            p{
                color: red;
            }

        </style>
    </head>

    <body>
	<!-- 定义组织内容 -->    
		<p>
	<!-- 定义一段文字 -->    		
		</p>
		<br> <!-- 此为换行,没有结尾对应部分 -->
		<table>
			<tr> 
			<!-- 此为表中的一行-->
				<td>
				<!-- 此为表中的一列-->
				</td>
			</tr>
		</table>
		<a href="http://www.baidu.com">Google</a> <!--a标签,用于增加属性,如链接-->
		<div></div>
		<input type="text" value="123"> <!--按钮控件:此为可输入内容的框-->
		<input type="button" onclick="test(); "value="提交"> <!--按钮控件:此为提交按钮,并与head中的test()方法,在click的时候关联在一起-->
    </body>
</html>

检查html文件的方式

通过宝塔上传模版

因为宝塔可以访问虚拟机的文件夹,所以可以对其进行更好的文件传输管理。
待文件传输完成至html下的site文件夹(原来的文件夹改名而得)并解压在该文件夹中后,可以通过Live Server访问如下地址:
http://:5500/src/html/site/index.html

案例:爬虫——爬取静态网址信息

安装包

pip3 install bs4
pip3 install requests

爬虫

网络状态

# 需要安装BS4 及 requests
import requests
from time import sleep
from bs4 import BeautifulSoup

# 模拟访问网站
req = requests.get('http://192.168.214.128:5500/src/html/site/index.html')
print(req.status_code)

解析网络内容

# 以html.parser解析该网站,避免出现乱码
soup = BeautifulSoup(req.text, 'html.parser')

通过网站中的类定位目标内容

# 通过开发者工具去定位目标内容的所在:复制class所在
layui_col_md12 = soup.find_all('div', attrs={'class':'layui-col-md12'})
for i in layui_col_md12:
    print(i)
    break
# 需要逐个寻找目标内容layui_col_md12是一个list

通过类来管理获取到的信息

# 通过类控制上述获取的信息
class robot():
    def __init__(self):
        self.url = 'http://192.168.214.128:5500/src/html/site/index.html'
    
    def getInfo(self):
        try:
            req = requests.get(self.url)
            soup = BeautifulSoup(req.text, 'html.parser')
            layui_col_md12 = soup.find_all('div', attrs={'class':'list-text'})
            # 可以找到全部class为content的div(纵向提取)
            for i in layui_col_md12:
                print(i.text)
                print('-' * 50)
        except:
            pass

if __name__ == '__main__':
    r = robot()
    r.getInfo()

python实现网络请求

import socket

# 建立服务
sk = socket.socket()

# 绑定IP
# sk.bind(('192.168.214.128', 5500)) # Live Server 已关闭,此时5500为自己的端口
sk.bind(('127.0.0.1', 5500))

# 监听
sk.listen()
print('服务器开始运行')
while True:
    # 连接客户端
    conn, addr = sk.accept()

    # 接收数据
    data = conn.recv(1024)
    print(data)

    # # 返回连接信息:成功连接——200和数据包
    # conn.send(b'HTTP/1.1 200 OK\r\n\r\n')
    # conn.send(bytes('我是python客户端,我已接到你的请求', encoding='utf-8'))
    if data:
        conn.send(b"HTTP/1.1 200 OK\r\n\r\n")
        conn.send(bytes('你好啊', encoding='utf-8'))
        break

标签:__,layui,Django,html,print,DW,T1,col,5500
来源: https://blog.csdn.net/weixin_44445068/article/details/117922070