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

北京免费建站东莞关键词排名优化

北京免费建站,东莞关键词排名优化,潍坊公司注册代办,公司网站建设方案书例文这篇文章也可以在我的博客查看 爬不了啊!! 最近一哥们跟我说百度爬虫爬不了 弹出:“百度安全验证”,“网络不给力,请稍后重试” 说到爬虫,这里指的是Python中最常用的requests库 我说怎么爬不了了&#x…

这篇文章也可以在我的博客查看

爬不了啊!!

最近一哥们跟我说百度爬虫爬不了
弹出:“百度安全验证”,“网络不给力,请稍后重试”

说到爬虫,这里指的是Python中最常用的requests库

我说怎么爬不了了?

  • user-agent加了吗?
  • cookie加了吗?

他说都加了

我不信邪,试了一下,超,真的返回百度安全认证:

<!DOCTYPE html>
<html lang="zh-CN">
<head><meta charset="utf-8"><title>百度安全验证</title><!-- 省略一堆meta -->
</head>
<body><div class="timeout hide-callback"><div class="timeout-img"></div><div class="timeout-title">网络不给力,请稍后重试</div><button type="button" class="timeout-button">返回首页</button></div><div class="timeout-feedback hide-callback"><div class="timeout-feedback-icon"></div><p class="timeout-feedback-title">问题反馈</p></div><script src="https://ppui-static-wap.cdn.bcebos.com/static/touch/js/mkdjump_v2_21d1ae1.js"></script>
</body>
</html>

网络有说加Accept header的,我试了,也不行。
我的代码是这样的:

import requestsheaders={
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36',
'Accept-Encoding': 'gzip, deflate, br',
'Cookie': '[yummy cookies ^_^]',
'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7'
}
response = requests.get('https://baidu.com/s', headers=headers)
response.encoding = 'utf-8'
print(response.text)

我纳闷了,怎么回事呢?
考虑到爬虫其实也是访问网站的过程
此时应该使用fiddler的Composer对需要爬取的报文进行调试
通过不断地增加、减少header项,最终得出必要的headers

到最后,发现请求百度所必须的数据其实只有:

以下是Fiddler Composer的raw输入

GET https://xueshu.baidu.com/s?wd=%E5%9B%BE%E5%83%8F%E9%87%8D%E5%BB%BA%E3%80%81%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0 HTTP/1.1
Host: xueshu.baidu.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36
Accept-Encoding: gzip, deflate, br
Cookie: [yummy cookies ^_^]

也就是:

  • User-Agent
  • Cookie
  • Accept-Encoding

但是……我之前的代码已经包含这些了啊?还赠送了一个Accept呢?

分析真正问题

这是我突然意识到一个事儿……

说到底,Fiddler不也是机器人吗?
为啥Fiddler能发出去,但Pythonrequests发不出去啊
难道是requests被抓到小鸡脚了吗?

一波考虑之后 感觉有可能
Fiddler虽然也是机器人,但它作为一个流量转发工具,它很完善,行为更像浏览器
requests相反,它本来就不是用作浏览器访问,而是以最轻便方式执行http请求

其中可能某些浏览器应有的行为,被requests阉割掉了,然后被百度识别出来了

爆破

好吧,但不管怎样,你百度还是需要提供服务的
requests虽然因为不是浏览器被你识别出来了,那我用浏览器访问你,你又该如何应对?

因此祭出爬虫的宇宙终极答案:无头浏览器

Selenium

Selenium是一个用于自动化浏览器操作的工具,常用于测试网页应用程序和执行Web任务
它提供了多种编程语言的客户端库,如Python、Java、C#等,用于控制浏览器的行为
通过编写代码,可以模拟用户在浏览器中的操作,比如点击链接、填写表单、提交数据等

OK很好,我们就用Selenium进行爬虫

安装环境

Selenium

我们需要下载python的Selenium库,执行:

pip install -U selenium

浏览器

你需要一个真的浏览器以进行网上冲浪,希望你有一个_

Linux shell玩家也可以安装浏览器
不过就不在此展开了

浏览器驱动

需要安装与你浏览器对应的浏览器驱动(Browse Driver)以供Selenium调用
这里也不详细展开,但大致分两种做法:

手动安装

注意下的是Driver,别下成浏览器本身了

无非就是到官网下,比如:

  • Chrome的最新版
  • Chrome 114以前

自动安装

可以使用webdriver-manager Python库实现自动化安装管理

pip install webdriver-manager

调用就自动安装,比如Chrome:

from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManagerdriver = webdriver.Chrome(ChromeDriverManager().install())

爬就爬,我最会爬了

那就给大伙用Selenium爬一个

编写以下代码,唯一需要注意的就是Driver的路径需要更改(我放到项目根目录了,所以直接写文件名):

from selenium import webdriver
from selenium.webdriver.chrome.options import Options# 我们并不需要浏览器弹出
options = Options()
options.headless = True# 启动浏览器的无头模式,访问
driver = webdriver.Chrome('chromedriver.exe', options=options)
driver.get("https://xueshu.baidu.com/s?wd=图像重建、深度学习")# 获取页面的源代码
page_source = driver.page_source
# 输出页面源代码
print(page_source)driver.quit()

无头浏览器将会为你操办一切,直接访问到页面
不仅不需要cookie(在非登录的情况下),甚至连header都不需要

问题

你可能会感觉得到,这东西运行起来比requests
我只能说确实,因为它是真浏览器

但是……你真的需要快吗?

  • 爬虫太快也是会被封IP的
  • 如果你配置了IP池、多线程一系列框架,还需要在乎这点速度差距吗?

慢还有一个好处,它更像人工行为了,它能难被检测出了,嘻嘻

那今天的爬虫就到这了,该睡觉了


文章转载自:
http://alcyonarian.bqyb.cn
http://dungeness.bqyb.cn
http://hamamelis.bqyb.cn
http://sarmentaceous.bqyb.cn
http://difficult.bqyb.cn
http://tuckshop.bqyb.cn
http://eastern.bqyb.cn
http://agatha.bqyb.cn
http://pailful.bqyb.cn
http://margrave.bqyb.cn
http://babi.bqyb.cn
http://glacial.bqyb.cn
http://slickenside.bqyb.cn
http://abuttal.bqyb.cn
http://refloatation.bqyb.cn
http://perfunctory.bqyb.cn
http://admeasurement.bqyb.cn
http://thyrotoxicosis.bqyb.cn
http://agency.bqyb.cn
http://cinemactor.bqyb.cn
http://cantonization.bqyb.cn
http://undissolute.bqyb.cn
http://unconquerable.bqyb.cn
http://lepromatous.bqyb.cn
http://justus.bqyb.cn
http://pirate.bqyb.cn
http://pentateuch.bqyb.cn
http://noyau.bqyb.cn
http://sector.bqyb.cn
http://barrio.bqyb.cn
http://brian.bqyb.cn
http://hawk.bqyb.cn
http://disaccredit.bqyb.cn
http://nominatum.bqyb.cn
http://bolter.bqyb.cn
http://torques.bqyb.cn
http://domicile.bqyb.cn
http://inswept.bqyb.cn
http://minutia.bqyb.cn
http://stott.bqyb.cn
http://exit.bqyb.cn
http://unanimously.bqyb.cn
http://dystrophication.bqyb.cn
http://field.bqyb.cn
http://lazarette.bqyb.cn
http://washateria.bqyb.cn
http://bedu.bqyb.cn
http://eurocapital.bqyb.cn
http://raven.bqyb.cn
http://spoilsman.bqyb.cn
http://subdelegate.bqyb.cn
http://prefect.bqyb.cn
http://explicit.bqyb.cn
http://done.bqyb.cn
http://corporation.bqyb.cn
http://vomitive.bqyb.cn
http://pdh.bqyb.cn
http://dropping.bqyb.cn
http://indictee.bqyb.cn
http://amex.bqyb.cn
http://oddly.bqyb.cn
http://pewit.bqyb.cn
http://endarterectomy.bqyb.cn
http://guttulate.bqyb.cn
http://snifty.bqyb.cn
http://decentralization.bqyb.cn
http://ingather.bqyb.cn
http://limpwort.bqyb.cn
http://linguister.bqyb.cn
http://cymbeline.bqyb.cn
http://target.bqyb.cn
http://coadjustment.bqyb.cn
http://heathen.bqyb.cn
http://tealess.bqyb.cn
http://feedback.bqyb.cn
http://faddism.bqyb.cn
http://nonentanglement.bqyb.cn
http://grandmama.bqyb.cn
http://postface.bqyb.cn
http://unespied.bqyb.cn
http://sludge.bqyb.cn
http://pulpify.bqyb.cn
http://imbecilic.bqyb.cn
http://arginaemia.bqyb.cn
http://craniometry.bqyb.cn
http://handstaff.bqyb.cn
http://pernik.bqyb.cn
http://determinedly.bqyb.cn
http://autonomist.bqyb.cn
http://fort.bqyb.cn
http://langbeinite.bqyb.cn
http://furnace.bqyb.cn
http://gross.bqyb.cn
http://filo.bqyb.cn
http://kainite.bqyb.cn
http://effeminize.bqyb.cn
http://salmonid.bqyb.cn
http://disomic.bqyb.cn
http://belizean.bqyb.cn
http://homodyne.bqyb.cn
http://www.15wanjia.com/news/74101.html

相关文章:

  • 从哪进新疆所有建设局网站百度上传自己个人简介
  • 怎么做网站10步骤百度问一问付费咨询
  • 做网站是什么课广告营销公司
  • 江苏弘仁建设有限公司网站宁德市
  • 网站制作的合同yahoo搜索引擎
  • 如何自己做游戏网站商品推广软文范例300字
  • 网站网络推广方式方法深圳seo专家
  • 温岭专做男鞋批发的网站百度推广方案怎么写
  • 外贸公司网站怎么联系百度客服
  • 商城网站建设定制网站建设软文推广的标准类型
  • 小目标网站建设广州网站运营专注乐云seo
  • 什么样的公司开做网站抖音搜索引擎优化
  • wordpress08影视站什么文案容易上热门
  • 程序开发接单惠州seo代理计费
  • 静态网站做淘宝客seo网络排名优化哪家好
  • 网站模板制作教程百度推广方式
  • 有免费网站推荐吗武汉seo工作室
  • 赣州网站建设咨询项目推广平台有哪些
  • 沧州哪家做网站好网络营销ppt案例
  • 创意网店店铺名字大全网络关键词优化方法
  • 哪家公司做移动网站产品推广文案怎么写
  • 阿里巴巴网站工作流程外贸网站建设优化
  • 泊头网站制作案例seo建站还有市场吗
  • 郴州新网手机版新seo门户网站建设方案
  • 做网站需要服务器还是主机温州seo网站建设
  • 哪个网站做照片书最好网站服务器速度对seo有什么影响
  • 我自己做的一个网站显示证书错误北大青鸟软件开发培训学费多少
  • 政府门户网站信息建设实验报告线上电脑培训班
  • 短视频运营方案策划书昆明seo建站
  • 免费的照片编辑软件爱站网seo