# -- codeing = utf-8 --
import urllib.request
from bs4 import BeautifulSoup
response=urllib.request.urlopen(baseurl)
#不仅仅有源码,有请求,url,状态码
content=response.read().decode('gbk')
#utf-8不行的话就用gbk
#用单引号
#打印数据
print(content);
#结果里边的b是read方法,返回字节形式的二进制数据。
#所以我们要把二进制的数据转化为字符串,叫做解码。decode.
#一个类型和6个方法
import urllib.request
response=urllib.request.urlopen(url)
print(type(response))
#它的类型是<class 'http.client.HTTPResponse'>,HTTPresponse类型。
#上面的content是一个字节一个字节的读取。
#如果在content=response.read()加入5,意味着它可以读取五个字节。
#content=response.readline()只能读一行,但是很快
#content=response.readlines()是一行一行的读,到读完。
#可以用返回状态码判断代码有没有问题
#print(response.getcode())
#返回200就是正确。
#print(response.geturl)是返回地址
#爬取的东西下载到本地
#网页,视频,图片
import urllib.request
#python中可以写变量名,也可直接写值,可以写url=url_page,也可以直接写url
urllib.request.urlretrieve(url_page,'4399.html')
#返回值为html类型,后缀很重要!
#请求对象的定制
import urllib.request
#url的组成
#HTTP/https 有区别 www.baidu.com是主机 s后面的是路径 wd是参数 #是错点
#协议 主机 端口号 路径 参数 锚点
#端口 http为80,https为443
#当有https的时候爬取数据就会很少,因为有反爬 UA,特殊的字符串头
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.41 Safari/537.36 Edg/101.0.1210.32'
}
response=urllib.request.urlopen(request)
content=response.read().decode('utf-8')
print(content)
posted @
2022-05-04 23:28
吕洞玄
阅读(
32)
评论()
编辑
收藏
举报