当前位置: 首页 > news >正文

如何反反爬虫

我们来讲最常见的反反爬虫方法

import requests
r =requests.get('网页网址')
print(r.requests.headers)

一.使用简单的方法把请求头改为真的浏览器模式

import requests
link='网页地址'
heraders={'User-Agent':''}
r=requests.get(link,headers=headers)
print(r.requsts.headers)

我们可以使用python的fake-uesragent,可以容易的切换User-Agent

pip install fake-uesragent

from fake_useragent import UserAgent 
import requestslink=''
ua=UserAgent()
hearders={'User-Agent':''}
response=requests.grt(url=url,headers=headers)print(response.status_code)
print(r.request.headers)

这里可以使用ua.random实现随机变换headers。每次生成的伪装表名不一样。我们还需要在headers里面写上Host和Referer

二.我们爬取的时候应该设置一段的时间限制:

import time 
t1=time.time()
time.sleep(2)
t2=time.time()
total_time=t2-t1
print(total_time)

 我们的时间应该不能确定为一个固定的值,我们现在可以加入random模块来实现时间的随机性。

import random
import timesleep_time=random.randint(0,2)+random.random
print(sleep_time)
time.sleep(sleep_time)

现在我们可以把爬虫和时间间隔结合在一起了:

import requests
from bs4 import BeautifulSoup
import time
import randomlink=''def scrap(link):headers={'User-Agent':''}r=requests.get(link,headers=headers)heml=r.textsoup=BeautifulSoup(html,"ixml")return soup
soup=scrap(link)
title_list=soup.find_all("h1",class_="post-title")
for eachone in title_list:url=eachone.a['href']print('开始爬取:',url)soup_art=scrap(url)title=soup_art.find("h1",class_="view-title").text.strip()print('标题:',title)sleep_time=random.randint(0,2)+random.random()print('开始休息:',sleep_time,'秒')time.sleep(sleep_time)

我们可以把爬取的放入文件里面

http://www.lryc.cn/news/330183.html

相关文章:

  • wireshark抓包之DNS协议
  • 升级到 Java 21 是值得的
  • C# 多线程
  • 快速安装sudachipy日语包
  • 蓝桥杯刷题day13——乘飞机【算法赛】
  • 大模型量化技术-BitsAndBytes
  • EasyExcel 复杂表头的导出(动态表头和静态表头)
  • centos7 fatal error: curl/curl.h: No such file or directory
  • 【Linux】自定义协议+序列化+反序列化
  • 常见故障排查和优化
  • 选择华为HCIE培训机构有哪些注意事项
  • python怎么处理txt
  • SAMRTFORMS 转换PDF 发送邮件
  • 探讨在大数据体系中API的通信机制与工作原理
  • 算法打卡day23
  • 每天五分钟深度学习:神经网络和深度学习有什么样的关系?
  • 基于PSO优化的CNN-LSTM-Attention的时间序列回归预测matlab仿真
  • 物联网监控可视化是什么?部署物联网监控可视化大屏有什么作用?
  • 设计一个Rust线程安全栈结构 Stack<T>
  • Docker Desktop 在 Windows 上的安装和使用
  • 2024年最受欢迎的 19 个 VS Code 主题排行榜
  • 突破编程_C++_网络编程(OSI 七层模型(物理层与数据链路层))
  • Spring boot如何使用redis缓存
  • 红蓝色WordPress外贸建站模板
  • python爬虫----了解爬虫(十一天)
  • 碳素光线疗法与宠物健康
  • 展锐平台camera添加底层水印
  • OSX-02-Mac OS应用开发系列课程大纲和章节内容设计
  • 热门IT【视频教程】-华为/思科/红帽/oracle
  • HCTNet:一种用于乳腺超声图像分割的混合CNN-transformer