十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
1、爬虫的工作原理
让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:域名与空间、网页空间、营销软件、网站建设、绥德网站维护、网站推广。获取数据--解析数据--提取数据--存储数据
2、获取数据
本质就是通过URL去向服务器发出请求,服务器再把相关内容封装成一个Response对象返回给我们,这是通过requests.get()实现的。而我们获取到的Response对象下有四个常用的方法(status_code、content、text、encoding)。
3、requests.get()
import requests #引入requests模块
res = requests.get('url') # 向服务器请求数据,服务器返回的结果是个Response对象
print(type(res)) # 终端显示:
这代表着res是一个对象,属于requests.models.Response类。
3、response.status_code
用法:print(变量.status_code),
用来检查请求是否正确响应,如果响应状态码为200,即代表请求成功。
响应状态码表示服务器对请求的响应结果。例如,200代表服务器响应成功,403代表禁止访问,404代表页面未找到,408代表请求超时。浏览器会根据状态码做出相应的处理。在爬虫中,可以根据状态码来判断服务器的状态,如果状态码为200,则继续处理数据,否则直接忽略。
4、response.content
response.content能把Response对象的内容以二进制数据的形式返回,适用于图片、音频、视频的下载,示例:
import requests #图片地址 URL=''https://img1.baidu.com/it/u=2076064484,1314795796&fm=253&fmt=auto&app=120&f=JPEG?w=531&h=309'' # 发出请求,并把返回的结果放在变量res中 res = requests.get(url) # 把Reponse对象的内容以二进制数据的形式返回 pic = res.content # 下载一个图片文件并命名为picture.jpg, 图片内容需要以二进制wb只写。 with open(r'C:\Users\Avery\Desktop\test\picture.jpg', 'wb') as f: # 获取pic的二进制内容,写入f f.write(pic)
这样我们图片就下载成功了!
5、response.text
response.text这个方法可以把Response对象的内容以字符串的形式返回,适用于文字、网页源代码的下载。示例如下:
import requests # 文章地址 url = 'https://localprod.pandateacher.com/python-manuscript/crawler-html/sanguo.md' # 发出请求,并把返回的结果放在变量res中 res = requests.get(url) # 把Response对象的内容以字符串的形式返回 novel = res.text #打印变量 print(novel[0:170])
6、response.encoding
response.encoding方法,它能帮我们定义Response对象的编码,示例如下:
import requests # 文章地址 url = 'https://localprod.pandateacher.com/python-manuscript/crawler-html/sanguo.md' # 发出请求,并把返回的结果放在变量res中 res = requests.get(url) # 定义response对应的编码为utf-8 res.encoding = 'utf-8' # 把Response对象的内容以字符串的形式返回 novel = res.text # 打印变量 print(novel[0:170])
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧