python-5

生产实习第六天

基础HTML

HTML概述

1、概念:超文本标记语言,是一种专门用于创建Web超文本文档的编程语言,它能告诉Web浏览程序如何显示Web文档(即网页)的信息,如何链接各种信息。

2、基本结构:

我的第一个网页 我的第一个网页

说明:开始+网页头部+主体部分+结束

3、网页基本信息

第一个网页 跳到表单标签页面

一号标题

二号标题

三号标题

四号标题
五号标题
六号标题

这是一个段落,
在p标签里

这是第一个span标签内容
这是第二个标签内容
中国   &nnbsp;  加油 <&qt;

编码要统一:浏览器编码、文件编码、网页编码,选择合适的:‘gbk’,’gb2313’,’UFT-8’

单标签格式:

<内容>,内容如下:

(在下面整行代码两头加<>)

meta … /

br/ 换行标签

hr/ 水平线标签水平线标签

img … /

input …/

注释格式:

<内容>,内容如下:

!-- 注释内容 –

特殊符号:

&内容,内容如下:

空格 nbsp;

> gt;

< lt;

" quot

图片标签:

<内容>,内容如下:

img … /

超链接:

超链接内容

_self 本页面打开 _blank 新页面打开

列表格式:

<内容>,内容如下:

ul type=… 无序

ol 有序

dt --defination term

dd --defination description

表格内容:

<内容>,内容如下:

table border=1(边框是一个像素) align=center(居中)

属性说明
align 水平对齐方式left左对齐
center居中对齐
right右对齐
valign 垂直对齐方式top顶端对齐
middle居中对齐
bottom底端对齐
baseline基线对齐

表单

用来接收用户信息的标签

表单标签是前后端沟通的桥梁

<input …>

其中type=”button” 普通按钮

type类型繁多:

表单标签

爬虫

爬虫就是一段自动抓取互联网信息的程序

Robots协议:网站通过Robots协议告诉搜索引擎哪些页面可以抓取,哪些页面不能抓取。不遵守Robots协议有可能会被网站方追究法律责任

步骤:

1 获取网页:库urllib.requests

2 解析网页:Xpath,bs4

3 存储文件:存入文件或数据库

在客户机和服务器之间进行请求-响应时,两种最常被用到的方法是:GET 和 POST

​ GET 请求发参数,网址?+请求&请求

GET - 从指定的资源请求数据;
查询字符串(名称/值对)是在 GET 请求的 URL 中发送的

​ POST 请求在文件内,为了安全

POST - 向指定的资源提交要被处理的数据
查询字符串(名称/值对)是在 POST 请求的 HTTP 消息主体中发送的

urllib库

​ urllib.request

(1).发送请求:urlopen(url地址或Request对象)
response = request.urlopen(url地址或Request对象) # 发送请求,返回一个响应对象
print(response.status) # 获取响应状态码
print(response.read().decode()) # 获取响应内容,并将字节序列解码为字符串

from urllib.request import urlopen,Request
if __name__ == '__main__':
	url = "https://www.baidu.com"    # 封装请求头信息
    header_dict = { 
    	'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64) 		AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36'
	}
	r = Request(url,headers=header_dict)  # 创建Request对象,并传入请求地址和请求头信息    
	response = urlopen(r)  # 发送请求 
    print("响应状态码:", response.status) 
    print("响应内容是:")
    print(response.read().decode())  # 读取内容,并解码为字符串

未爬到数据,百度反爬虫技术,伪装成浏览器爬虫:

2.创建Request对象:Request(url,data=params.encode(),headers={}) 创建Request对象,封装URL地址和请求参数

from urllib.request import urlopen,Request
if __name__ == '__main__':
	url = "http://httpbin.org/post" 
    params = "name=alice&age=25"    # 如果在Request中传入data参数,则为POST请求
    r = Request(url,data=params.encode())  # 创建Request对象,并传入请求地址和请求参数    		response = urlopen(r)  # 发送请求
    print("响应状态码:", response.status)
    print("响应内容是:")
    print(response.read().decode())  # 读取内容,并解码为字符串

3.注意:data参数必须是字节数据,如果传递data参数,则默认是POST请求

4.下载资源:urlretrieve(url地址,filename=存放地址)

from urllib.request import urlretrieve
if __name__ == '__main__':
	url = "https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1593844077779&di=0721cdcfa0953f4e7688f13603c428bb&imgtype=0&src=http%3A%2F%2Fa3.att.hudong.com%2F14%2F75%2F01300000164186121366756803686.jpg"    
	urlretrieve(url,filename="download/tupian.jpg")  # 下载资源
    print("下载成功!")

5.测试网址:http: // httpbin.org / post
http: // httpbin.org / get

​ urllib.parse

解析参数:urlencode(params_dict_tuple)

from urllib.request import urlopen,Request
if __name__ == '__main__':
	url = "http://httpbin.org/post"
    params = "name=alice&age=25"# 如果在Request中传入data参数,则为POST请求
    r = Request(url,data=params.encode())  # 创建Request对象,并传入请求地址和请求参数    		response = urlopen(r)  # 发送请求
    print("响应状态码:", response.status)
    print("响应内容是:")
    print(response.read().decode())  # 读取内容,并解码为字符串
import requests
if __name__ == '__main__':
	url = "http://httpbin.org/get"
    params_dict = {
    	"name":"tom",
        "age":22
    }
    response = requests.get(url,params=params_dict)  # 发送GET请求
    print("响应状态码:",response.status_code) 
    print("响应内容:")
    print(response.text)

将字典(或元组——每个元素是包含两个元素的小元组)转换为字符串格式的查询参数

requests库

1.安装方式:pip install requests

2.发送请求

​ GET请求

resp = requests.get(“url地址”,params=字典,headers=字典)

​ POST请求

resp = requests.post(“url地址,data=字典,headers=字典)

返回的响应对象常用属性:
text: 响应文本内容
status_code:响应状态码
url:最终的URL字符串
content:返回二进制数据内容

3.定制请求头:发送请求时传递headers关键字参数,参数以字典形式传递

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值