Java教程

爬虫学习打卡第四天——requests实战

本文主要是介绍爬虫学习打卡第四天——requests实战,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

今天实战运用requests

一、爬搜狗

# -*- coding: utf-8 -*-
import requests
url="http://www.sogou.com"
respond=requests.get(url)#1
respond.encoding=respond.apparent_encoding
print(respond.text)

代码分析:

1、respond.encoding作用从http header中提取响应内容编码。若header中没有charset字段则默认为ISO-8859-1编码模式,则无法解析中文,有可能会出现乱码。respond.apparent_encoding作用为从内容中分析出的响应内容编码。所以使用respond.encoding=respond.apparent_encoding

运行结果:

二、照片

这里爬爬我博客的头像

①首先获得图片链接

import requests
src = 'https://avatar.csdnimg.cn/D/2/1/1_m0_60960867_1633660031.jpg'
respond = requests.get(src)#1
with open('touxiang.jpg', 'wb') as f:#2
    f.write(respond.content)#3
print('搞定!!')

代码分析

#1 先用requests库的get请求访问图片链接

#2 以touxiang为文件名,'wb'为读写类型,这里是写入。('rb'为读取)

#3 然后用respond.content接收图片内容,然后再写入(write)

运行结果:

就出现了

点开就可以看到我自己的头像

 三、搜狗关键词搜索爬取

import requests
url='https://www.sogou.com/web'
kw=input('enter a word: ')#1
header={
    'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36 Edg/95.0.1020.53'
}#2
param={
    'query':kw
}
respond=requests.get(url=url,params=param,headers=header)
content=respond.text#3
fileName=kw+'.html'#4
with open(fileName,'w',encoding='utf-8') as f:
    f.write(content)
print(fileName,'搞定!!')

代码分析

我们使用所爬网站中的User-Agent来进行伪装,让它以为我们是它本身的一部分,从而使得我们能够成功爬取我们需要的信息。

#1 输出提示词并键盘输入关键字

#2 请求头,打开搜狗搜索,鼠标右键选择‘检查’,在网络中,点击搜索,可得到请求头。

#3 请求url对应的页面内容

#4 设置文件名为键盘输入的关键字,并且为html文件

运行结果:

 

然后打开html文件

这篇关于爬虫学习打卡第四天——requests实战的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!