爬取网页的反爬虫

反爬虫

import requests
#import requests表示导入requests这个模块
url = 'https://www.baidu.com/'
#url表示是因特网的万维网服务程序上的用于指定信息位置的表示方法
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36'
}
'''headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)AppleWebKit/537.36 
(KHTML, like Gecko}表示创建一个名为headers的字典,字典里的键为'User-Agent'键的对应值为'Mozilla/5.0 
(Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0
 Safari/537.36Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) 
 Chrome/119.0.0.0 Safari/537.36'
 键的值为不可变但对应值可变
 User-Agent等于UA表示请求载体的身份标识
 UA检测的意思是门户网站的服务器会检测对应请求的载体的身份标识,如果检测到请求的载体身份标识为某一款浏览
 说明该请求是正常的请求。但是如果检测到请求的载体身份标识不是某一款浏览器的,则表示该请求为不正常请求(爬虫)
 则服务器很可能拒绝请求
 UA伪装的意思是让爬虫对应的请求载体身份标识伪装成某一款浏览器
 为什么键为'User-Agent'以及为为什么键的对应值为这个请看文档的爬取网页的发爬虫的附件1
'''
respones = requests.get(url=url, headers=headers)
#respones = requests.get(url=url, headers=headers)其中requests.get()表示向服务器请求数据
#括号里的url表示上面的'https://www.baidu.com/'
#把响应成功的结果赋值给respones。括号里的headers=headers表示请求头为谷歌浏览器
#headers表示请求头,请求头的意思是告诉服务器关于客户端环境和请求正文的一些信息如浏览器的标识
pag_text = respones.text
#respones.text的意思是requests模块自动根据HTTP头部对响应的编码做出有根据的推测,推测的文本
#把响应结果变成字符串因为text是字符串属性也就是网页的源码数据
#把网页的源码数据赋值给变量pag_text其中_text表示字符串属性
with open('./baidu.html', 'w', encoding='utf-8') as f:
    f.write(pag_text)
# with open是打开或保存文件('./baidu.html')表示打开或保存的文件
# 括号里的‘w'表示打开的模式’w'表示写入模式
# encoding表示是文本或二进制数据的编码方式
# encoding='utf-8'表示编码方式是utf-8,utf-8是网页的首先编码方式
# as f是指定文件的别名,f根据需要更改
# f.write(page_text)表示向baidu.html这个文件去写入网页源码其中f.write表示写入,f.write里的f要随as f里的f一样
    print('爬取成功')
#print('爬取成功')表示打印爬取成功

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值