我需要为特定的用户代理编写一个网络爬虫

2023-12-14

我需要编写一个网络爬虫,并且希望能够使用已知的用户代理进行爬网。例如,我希望我的爬虫充当iphone来爬取某个网站的移动站点,然后使用Mozilla PC代理再次爬取,等等。

这样,我就能够抓取每种“类型”的网站(移动和 PC)。但是,我还希望能够设置我的爬虫的用户代理,因此网站管理员也会在他们的统计数据中看到这是一个爬虫访问了他们的整个网站,而不是真正的用户。

所以我的问题是,你们知道如何在PHP中同时设置移动代理+爬虫代理吗?有可能吗?


请参阅RFC1945对于如何用户代理应形成:

10.15 用户代理

User-Agent 请求头字段包含有关 发起请求的用户代理。这是出于统计目的, 协议违规追踪和用户自动识别 代理为了定制响应以避免特定用户 代理限制。尽管不是必需的,但用户代理应该 在请求中包含此字段。该字段可以包含多个 产品代币(第 3.7 节)和标识代理的注释以及 构成用户代理重要组成部分的任何子产品。经过 按照惯例,产品代币按其顺序列出 对于识别应用程序具有重要意义。

 User-Agent     = "User-Agent" ":" 1*( product | comment )

Example:

  User-Agent: CERN-LineMode/2.15 libwww/2.17b3

所以你放在那里的东西或多或少取决于你。您可以冒充 GoogleBot-Mobile:

  • https://www.google.com/support/webmasters/bin/answer.py?answer=1061943

或者伪装成 iPhone 并添加你自己的东西

Mozilla/5.0 (iPhone; U; CPU iPhone OS) (compatible; MyBot/1.0; +http://about.my/bot")
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我需要为特定的用户代理编写一个网络爬虫 的相关文章

随机推荐

  • ptTimeSelect JQuery TimePicker 插件问题

    我正在尝试使用 jQuery ptTimeSelect 插件http pttimeselect sourceforge net example index html 这是来自 aspx 的代码
  • 如何使用 DirectShow.NET C# 访问音频流

    我想做的是将任意音频文件传递到 DirectShow 过滤器 并最终使用 NET 3 5 C 和 DirectShow NET 接收 PCM 音频 流对象 我想说的是 Stream OpenFile string filename and
  • 条件编译和 Objective-C/Xcode

    因此 我正在开展一个学习项目 并尝试创建一个包含 URL 存储的头文件 以便您只需更改单个标志即可从调试更改为生产 这就是我试图用编译器做的事情 这显然是错误的 我找不到任何有关如何在 Objective C 中执行此操作的信息 所以这就是
  • SIMD 对超标量乱序 CPU 有什么好处?

    我一直在阅读最近可用的 AVX 512 说明 我觉得有一个基本概念我不理解 对于已经执行乱序执行的超标量 CPU SIMD 有什么好处 考虑以下伪汇编代码 使用 SIMD load 16 floats to register simd a
  • 异步更新 UI?

    考虑这个例子 Private Sub Button Click sender As Button e As RoutedEventArgs Handles btn Click sender IsEnabled False Thread Sl
  • ec2:无法在 Windows 实例上打开端口 5080 [已关闭]

    Closed 这个问题不符合堆栈溢出指南 目前不接受答案 我对 ec2 防火墙设置等还很陌生 所以我可能会遗漏一些明显的东西 但是 我创建了一个 Windows 入门 实例 具有指定 5080 的安全组 并且与弹性ip关联 在实例上我有一个
  • 如何在成员函数中使用“this”?

    我编写了 Node 类的成员函数来按后缀顺序读取节点树 它将由作为树的根节点的 Node 实例调用 所以 N postfix 这些似乎是非法的 this gt left postfix this gt right postfix 执行此操作
  • 将十进制年份转换为日期

    我的表格中有日期存储为十进制年份 一个例子是2003 024658这翻译成January 9 2003 我想将十进制年份转换为 Oracle 的日期格式 我发现有人在 Excel 中完成了此操作 十进制年份至今的公式 DATE INT B1
  • 读取Excel文件获取unicode

    我正在用 pandas 读取 Excel 文件 当我在 microsoft excel 中打开文件时 我得到这样的输出 当我在 libre office 中看到这个文件时 我得到了这样的输出 因此 在阅读Excel文件时 我执行了以下代码
  • Tensorflow:如何通过名称获取张量?

    我无法按名称恢复张量 我什至不知道这是否可能 我有一个创建图表的函数 def create structure tf x input size dropout with tf variable scope scale 1 as scope
  • 如何在 PHP 生成的 HTML 中将 URL 编码为 javascript 字符串?

    给定这个 PHP 代码 a 这将起作用 因为json encode已经返回带引号的 JavaScript 表达式 和htmlspecialchars需要转义可能的 HTML 元字符 a
  • 在Java Applet中调用Web服务方法

    我成功构建了一个简单的Java Web Service 作为例子你可以参考 构建简单的网络服务 在 Eclipse 中 使用教程中指出的 Java Web 服务代理技术 可以轻松创建 Web 服务客户端 我想运行一个 Java Applet
  • Visual C++ Express 如何运行该应用程序?

    我不知道如何在 Visual C Express 中运行应用程序 调试选项就在那里 但是运行应用程序怎么样 我检查了上面的每个按钮 并右键单击了所有可以单击的按钮 但我没有看到运行它的选项 无需调试 我不介意调试 但我丢失了 main 正在
  • 如何从非托管代码使用托管代码?

    如何从本机 C 非托管代码 调用 NET 代码 我想将 NET 代码公开给我的非托管 C 应用程序 然后使用它们 更具体地说 我想从本机 C 调用 C 我知道有很多方法 但你能告诉我每种方法的优缺点吗 顺便问一下 我不想使用 COM 那么现
  • 去除空格/制表符/换行符 - python

    我正在尝试删除 Linux 上 python 2 7 中的所有空格 制表符 换行符 我写了这个 应该可以完成这项工作 myString I want to Remove all white t spaces new lines n and
  • 尝试对 Django 应用进行 dockerize,Docker 找不到 ft2build.h

    我是 Docker 新手 我正在尝试对 Django 应用程序进行 dockerize 但是当我运行时docker build t sometag 我收到以下错误 9 23 05 Preparing metadata setup py st
  • 接收离线消息mqtt

    我使用 mosquitto 作为代理 使用 paho python 作为客户端 我正在尝试让订阅者接收离线消息 为此我做了以下更改 固定客户端 ID 服务质量级别 2 但是 订阅者仍然无法接收消息 有什么帮助吗 谢谢 拉胡尔 为了让您的客户
  • R 中的分层对数秩检验用于计算流程表单数据?

    背景 在 4 年的半年随访时间中 患者可能会切换到不同的药物组 为了解决这个问题 我将生存数据转换为计数过程形式 我想比较药物组 A B 和 C 的生存曲线 我正在使用扩展的 Cox 模型 但想要对每个风险函数进行成对比较或进行分层对数秩检
  • 在 R 中为 xml2::xml_text() 设置 XML_PARSE_HUGE 选项

    我读过这个问题在 R 中解析 XML 文件 gt 1 MB 这个答案似乎只适用于原来的XMLR 中的包 如何设置此选项xml2 这是我正在运行的代码 library xml2 library magrittr rawXML lt read
  • 我需要为特定的用户代理编写一个网络爬虫

    我需要编写一个网络爬虫 并且希望能够使用已知的用户代理进行爬网 例如 我希望我的爬虫充当iphone来爬取某个网站的移动站点 然后使用Mozilla PC代理再次爬取 等等 这样 我就能够抓取每种 类型 的网站 移动和 PC 但是 我还希望