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

Python网络爬虫——介绍

网络爬虫库

  • urllib 库:Python 「标准库」(自带不用额外装 ),功能基础但代码写起来繁琐,像盖房子的 “基础建材”,能实现爬虫核心操作,但得自己拼逻辑。
  • requests 库:Python 「第三方库」(需 pip install requests 安装 ),是在 urllib 基础上做了优化,用起来更简单友好,像 “预制建材”,调用函数就能轻松发请求、拿网页内容,新手常用它入门。
  • scrapy 库:Python 「第三方库」(需安装 ),属于 “专业框架级” 爬虫库,适合大规模、结构化的数据抓取,能高效建爬虫项目,像 “专业建房工具包”,适合搞复杂爬虫系统的开发者。
  • selenium 库:Python 「第三方库」(需安装 ),能 “驱动浏览器” 模拟人的操作(点按钮、填表单等 ),对付动态网页(js 渲染内容)好用,像 “自动化浏览器助手”,常用来绕过一些反爬,或做自动化测试。

 robots.txt 规则

简单说,robots.txt 是网站 “对外声明的爬取规则”,放在网站根目录(比如访问 https://www.douban.com/robots.txt 就能看豆瓣的规则 ),作用是 告诉爬虫哪些内容能爬、哪些不能爬 ,遵守它是网络爬虫的 “基本礼仪”,不然可能触发网站反爬,甚至涉及法律风险。

规则里常见字段和含义:

  • User-agent:指定 “针对哪种爬虫 / 搜索引擎” 的规则 。比如 User-agent: * 里的 * 代表 “所有爬虫”;如果写 User-agent: Wandoujia Spider ,就是专门给 “豌豆荚爬虫” 定规则。
  • Disallow:跟在 User-agent 后面,说明 “禁止爬取的路径” 。比如 Disallow: /subject_search ,就是禁止对应爬虫去爬网站里 /subject_search 这个目录 / 页面的内容;要是 Disallow: / ,那直接 “禁止爬取整个网站”。
  • Allow:和 Disallow 相反,说明 “允许爬取的路径” ,优先级比 Disallow 高(允许的会 “覆盖” 禁止的 ),比如 Allow: /ads.txt ,就是允许爬 ads.txt 这个文件。
  • Sitemap:标注 “网站地图地址” ,方便爬虫快速了解网站结构,比如 Sitemap: https://www.xxx.com/sitemap.xml ,爬虫可以通过它更高效抓内容。
  • Crawl-delay:告诉爬虫 “两次请求之间至少隔多久”(单位秒 ),避免爬虫频繁请求把网站搞崩,比如 Crawl-delay: 5 ,就是让爬虫每次访问间隔≥5 秒。

  • 关键提醒:哪怕网站没写 robots.txt ,也得守《网络安全法》等法规,不能乱爬敏感 / 侵权内容;写爬虫时,先查目标站 robots.txt ,老老实实遵守规则,才是 “可持续爬取” 的正确姿势~

 

http://www.dtcms.com/a/284869.html

相关文章:

  • 【unitrix】 6.5 基础整数类型特征(base_int.rs)
  • Redis:哨兵(Sentinel)
  • MySQL的索引操作及底层结构浅析
  • 产品经理如何描述用户故事
  • modelscope ProxyError: HTTPSConnectionPool(host=‘www.modelscope.cn‘, port=443)
  • 作物长势产量预测yyds!遥感数据同化DSSAT模型,区域精准农业就靠它!
  • 27、鸿蒙Harmony Next开发:ArkTS并发(Promise和async/await和多线程并发TaskPool和Worker的使用)
  • Hyperledger Fabric:构建企业区块链网络的实践指南
  • 【实时Linux实战系列】硬件中断与实时性
  • 什么是GEO 和 SEO ?GEO 与 SEO 有什么区别?如何快速入门GEO?
  • 解决宝塔面板SSL报错 - AttributeError: module ‘acme_v2‘ has no attribute ‘acme_v2‘
  • 搜广推校招面经九十四
  • 神经网络构建
  • STM32之土壤湿度传感器模块
  • Toward the unification of kselftests and KUnit
  • MYSQL-进阶-锁
  • 离散与组合数学 杂记
  • 电子制造企业排产优化实战:用JVS智能排产的排产策略实现交期100%可控
  • OCR 与 Agent:智能协作的 “黄金搭档”
  • Spring Boot整合阿里云OSS:企业级文件存储最佳实践
  • ZYNQ UltraScale+ MPSoC芯片 pcie switch级联ssd高速存储方案
  • 基于springboot+vue+mysql平台的医疗病历交互系统(源码+论文)
  • 解析:视频创作中常见版权问题
  • JAVA原生实现SOAP POST调用
  • 【深度学习】神经网络过拟合与欠拟合-part5
  • 尚庭公寓----------分页查询
  • 外贸ERP软件有哪些?八大热门erp软件功能测评
  • FOC算法中SIMULINK一些常用模块(3)自动计算电机参数
  • OpenBayes 一周速览丨字节EX-4D上线,实现单目视频到自由视角生成;GLM-4.1V-9B-Thinking开源,10B参数比肩Qwen系列
  • JPA 与 MyBatis-Plus 数据库自增主键实现方案