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

爬虫urllib使用

程序员文章站 2022-05-03 20:05:33
...

爬虫urllib使用

request 和parse使用

from urllib import request
#例如爬取 百度首页
#直接爬取 https://www.baidu.com/ 
html_obj=request.urlopen("https://www.baidu.com/ ")
#然后读取爬取的内容 并以utf-8转码
html_content=html_obj.read().decode("utf-8")
print(html_content)
#发现内容几乎为空,所以我们需要伪装浏览器
#在请求头上面给点伪装信息 User-Agent 浏览器标识
headers={
	"User-Agent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36",
}
#封装
url="https://www.baidu.com/ "
req=request.Request(url=url,headers=headers)
#再发起请求
html_second=request.urlopen(req)
html_content_second=html_second.read().decode("utf-8")
print(html_content_second)

提交爬取

from urllib import request,parse

base_url="https://tieba.baidu.com/f?"
headers={
         "User-Agent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko)Chrome/70.0.3538.110 Safari/537.36",
    }

kw=input("输入:")

#这是要提交的数据
data={
        "ie":"utf-8",
        "kw":kw,
        "fr":"search",
    }

#使用parse.urlencode() 对提交的数据进行转换
data_str=parse.urlencode(data)
#这个是get提交所以直接拼接在url上面
url=base_url+data_str

req=request.Request(url=url,headers=headers)
html=request.urlopen(req).read().decode("utf-8")
#创建文件名
file_name="%s.html"%(kw)
#把html代码写进文件
with open(file_name,"w",encoding="utf-8") as f:
    f.write(html)

这就是简单的urllib的使用,后续继续更新!