欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

爬虫基础之urllib.request

程序员文章站 2022-05-03 21:29:43
...
1、导入request
from urllib import request
2、使用urlopen请求网页
url = "http://www.baidu.com"
rsp = urllib.request.urlopen(url)

看到上面一行代码,有没有觉得很长,想有一个单词来代替三个单词

使用read读取网页内容,得到数据为bytes格式

html = rsp.read()

3、使用decode解码

html = html.decode()

decode()默认的解码格式是UTF-8,好在大多数网页是UTF-8格式编码,不过有的网页是gb2312或者其他,此时需要检测网页的编码格式

4、导入chardet

import chardet

检测编码并读取内容

cs = chardet.detect(html)
html = html.decode(cs.get("encoding"))

5、使用parse把字典转换为url编码

当你需要在一个网页中进行关键字搜索时,要访问的url就会变为该网页的url+关键字,但是urlopen不能识别输入的关键字,此时需要对关键字进行编码,然后合并为一个新的url。以百度为例

url = "http://www.baidu.com/s?"
kw = input("请输入关键字")
suffix = {"kw":kw}

// parse使用之前需要导入
from urllib import parse
suffix = parse.urlencode(suffix)
fullurl = url + suffix