<?xml version="1.0" encoding="utf-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><title>万邦api博客</title><link>https://obapi.cn/</link><description>Good Luck To You!</description><item><title>利用 PHP 爬虫获取 1688 商品详情 API 返回值说明（代码示例）实战指南</title><link>https://obapi.cn/?id=8</link><description>&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-stretch: inherit; font-size: var(--markdown-B1_Content-font-size); line-height: var(--markdown-B1_Content-line-height); font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;在当今电商领域，精准获取商品详情数据对于市场分析、选品上架、库存管理和价格策略制定等方面至关重要。1688 作为国内领先的 B2B 电商平台，提供了丰富的商品资源和强大的 API 接口。通过 PHP 爬虫技术，我们可以高效地获取 1688 商品的详细信息，包括商品名称、价格、图片、描述等&lt;span data-v-d55fe56f=&quot;&quot; class=&quot;rag-tag text&quot; data-index=&quot;0&quot; data-site-name=&quot;稀土掘金&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 1px 8px; border: 0px; vertical-align: baseline; box-sizing: border-box; position: relative; top: -1px; cursor: pointer; user-select: none; max-width: 100px; min-width: 18px; height: 24px; display: inline-flex; align-items: center; justify-content: center; border-radius: 24px; color: var(--Labels-Secondary); background-color: var(--Fills-F2);&quot;&gt;&lt;/span&gt;。本文将详细介绍如何利用 PHP 爬虫获取 1688 商品详情，并对 API 返回值进行说明，最后给出代码示例&lt;span data-v-d55fe56f=&quot;&quot; class=&quot;rag-tag text&quot; data-index=&quot;1&quot; data-site-name=&quot;稀土掘金&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 1px 8px; border: 0px; vertical-align: baseline; box-sizing: border-box; position: relative; top: -1px; cursor: pointer; user-select: none; max-width: 100px; min-width: 18px; height: 24px; display: inline-flex; align-items: center; justify-content: center; border-radius: 24px; color: var(--Labels-Secondary); background-color: var(--Fills-F2);&quot;&gt;&lt;/span&gt;。&lt;/div&gt;&lt;h2 class=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-stretch: inherit; font-size: var(--markdown-H2_Content-font-size); line-height: var(--markdown-H2_Content-line-height); font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap: wrap; background-color: rgb(255, 255, 255);&quot;&gt;一、环境准备&lt;/h2&gt;&lt;h3 class=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-stretch: inherit; font-size: var(--markdown-B1_Content_Emphasized-font-size); line-height: var(--markdown-B1_Content_Emphasized-line-height); font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap: wrap; background-color: rgb(255, 255, 255);&quot;&gt;（一）PHP 开发环境&lt;/h3&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-stretch: inherit; font-size: var(--markdown-B1_Content-font-size); line-height: var(--markdown-B1_Content-line-height); font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;确保你的服务器上安装了 PHP 环境，并且启用了 &lt;code data-v-cad61513=&quot;&quot; data-v-3a4aba44=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; color: var(--Labels-Primary); background-color: var(--Fills-F1); border-radius: 4px; max-width: 100%; word-break: break-word; overflow: auto;&quot;&gt;cURL&lt;/code&gt; 扩展，用于发送 HTTP 请求&lt;span data-v-d55fe56f=&quot;&quot; class=&quot;rag-tag text&quot; data-index=&quot;2&quot; data-site-name=&quot;CSDN博客&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 1px 8px; border: 0px; vertical-align: baseline; box-sizing: border-box; position: relative; top: -1px; cursor: pointer; user-select: none; max-width: 100px; min-width: 18px; height: 24px; display: inline-flex; align-items: center; justify-content: center; border-radius: 24px; color: var(--Labels-Secondary); background-color: var(--Fills-F2);&quot;&gt;&lt;/span&gt;。&lt;/div&gt;&lt;h3 class=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-stretch: inherit; font-size: var(--markdown-B1_Content_Emphasized-font-size); line-height: var(--markdown-B1_Content_Emphasized-line-height); font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap: wrap; background-color: rgb(255, 255, 255);&quot;&gt;（二）安装必要的库&lt;/h3&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-stretch: inherit; font-size: var(--markdown-B1_Content-font-size); line-height: var(--markdown-B1_Content-line-height); font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;安装 &lt;code data-v-cad61513=&quot;&quot; data-v-3a4aba44=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; color: var(--Labels-Primary); background-color: var(--Fills-F1); border-radius: 4px; max-width: 100%; word-break: break-word; overflow: auto;&quot;&gt;GuzzleHttp&lt;/code&gt; 库，用于发送 HTTP 请求。可以通过 Composer 安装&lt;span data-v-d55fe56f=&quot;&quot; class=&quot;rag-tag text&quot; data-index=&quot;3&quot; data-site-name=&quot;CSDN博客&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 1px 8px; border: 0px; vertical-align: baseline; box-sizing: border-box; position: relative; top: -1px; cursor: pointer; user-select: none; max-width: 100px; min-width: 18px; height: 24px; display: inline-flex; align-items: center; justify-content: center; border-radius: 24px; color: var(--Labels-Secondary); background-color: var(--Fills-F2);&quot;&gt;&lt;/span&gt;：&lt;/div&gt;&lt;pre class=&quot;prism-highlight prism-language-bash&quot;&gt;composer&amp;nbsp;require&amp;nbsp;guzzlehttp/guzzle&lt;/pre&gt;&lt;h2 class=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-stretch: inherit; font-size: var(--markdown-H2_Content-font-size); line-height: var(--markdown-H2_Content-line-height); font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap: wrap; background-color: rgb(255, 255, 255);&quot;&gt;二、编写爬虫代码&lt;/h2&gt;&lt;h3 class=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-stretch: inherit; font-size: var(--markdown-B1_Content_Emphasized-font-size); line-height: var(--markdown-B1_Content_Emphasized-line-height); font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap: wrap; background-color: rgb(255, 255, 255);&quot;&gt;（一）发送 HTTP 请求&lt;/h3&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-stretch: inherit; font-size: var(--markdown-B1_Content-font-size); line-height: var(--markdown-B1_Content-line-height); font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;使用 &lt;code data-v-cad61513=&quot;&quot; data-v-3a4aba44=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; color: var(--Labels-Primary); background-color: var(--Fills-F1); border-radius: 4px; max-width: 100%; word-break: break-word; overflow: auto;&quot;&gt;GuzzleHttp&lt;/code&gt; 库发送 GET 请求，获取商品页面的 HTML 内容&lt;span data-v-d55fe56f=&quot;&quot; class=&quot;rag-tag text&quot; data-index=&quot;4&quot; data-site-name=&quot;CSDN博客&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 1px 8px; border: 0px; vertical-align: baseline; box-sizing: border-box; position: relative; top: -1px; cursor: pointer; user-select: none; max-width: 100px; min-width: 18px; height: 24px; display: inline-flex; align-items: center; justify-content: center; border-radius: 24px; color: var(--Labels-Secondary); background-color: var(--Fills-F2);&quot;&gt;&lt;/span&gt;。&lt;/div&gt;&lt;pre class=&quot;prism-highlight prism-language-php&quot;&gt;&amp;lt;?php
require&amp;nbsp;&amp;#39;vendor/autoload.php&amp;#39;;

use&amp;nbsp;GuzzleHttp\Client;

function&amp;nbsp;get_html($url)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$client&amp;nbsp;=&amp;nbsp;new&amp;nbsp;Client();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$response&amp;nbsp;=&amp;nbsp;$client-&amp;gt;request(&amp;#39;GET&amp;#39;,&amp;nbsp;$url,&amp;nbsp;[
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;#39;headers&amp;#39;&amp;nbsp;=&amp;gt;&amp;nbsp;[
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;#39;User-Agent&amp;#39;&amp;nbsp;=&amp;gt;&amp;nbsp;&amp;#39;Mozilla/5.0&amp;nbsp;(Windows&amp;nbsp;NT&amp;nbsp;10.0;&amp;nbsp;Win64;&amp;nbsp;x64)&amp;nbsp;AppleWebKit/537.36&amp;nbsp;(KHTML,&amp;nbsp;like&amp;nbsp;Gecko)&amp;nbsp;Chrome/58.0.3029.110&amp;nbsp;Safari/537.3&amp;#39;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;]
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;]);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;$response-&amp;gt;getBody()-&amp;gt;getContents();
}
?&amp;gt;&lt;/pre&gt;&lt;h3 class=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-stretch: inherit; font-size: var(--markdown-B1_Content_Emphasized-font-size); line-height: var(--markdown-B1_Content_Emphasized-line-height); font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap: wrap; background-color: rgb(255, 255, 255);&quot;&gt;（二）解析 HTML 内容&lt;/h3&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-stretch: inherit; font-size: var(--markdown-B1_Content-font-size); line-height: var(--markdown-B1_Content-line-height); font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;使用 &lt;code data-v-cad61513=&quot;&quot; data-v-3a4aba44=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; color: var(--Labels-Primary); background-color: var(--Fills-F1); border-radius: 4px; max-width: 100%; word-break: break-word; overflow: auto;&quot;&gt;DOMDocument&lt;/code&gt; 和 &lt;code data-v-cad61513=&quot;&quot; data-v-3a4aba44=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; color: var(--Labels-Primary); background-color: var(--Fills-F1); border-radius: 4px; max-width: 100%; word-break: break-word; overflow: auto;&quot;&gt;DOMXPath&lt;/code&gt; 解析 HTML 内容，提取商品详情&lt;span data-v-d55fe56f=&quot;&quot; class=&quot;rag-tag text&quot; data-index=&quot;5&quot; data-site-name=&quot;CSDN博客&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 1px 8px; border: 0px; vertical-align: baseline; box-sizing: border-box; position: relative; top: -1px; cursor: pointer; user-select: none; max-width: 100px; min-width: 18px; height: 24px; display: inline-flex; align-items: center; justify-content: center; border-radius: 24px; color: var(--Labels-Secondary); background-color: var(--Fills-F2);&quot;&gt;&lt;/span&gt;。&lt;/div&gt;&lt;pre class=&quot;prism-highlight prism-language-php&quot;&gt;&amp;lt;?php
function&amp;nbsp;parse_html($html)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$dom&amp;nbsp;=&amp;nbsp;new&amp;nbsp;DOMDocument();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@$dom-&amp;gt;loadHTML($html);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$xpath&amp;nbsp;=&amp;nbsp;new&amp;nbsp;DOMXPath($dom);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$products&amp;nbsp;=&amp;nbsp;[];
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$productItems&amp;nbsp;=&amp;nbsp;$xpath-&amp;gt;query(&amp;quot;//div[@class=&amp;#39;sm-offer-item&amp;#39;]&amp;quot;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;foreach&amp;nbsp;($productItems&amp;nbsp;as&amp;nbsp;$item)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$title&amp;nbsp;=&amp;nbsp;$xpath-&amp;gt;evaluate(&amp;quot;string(.//a[@class=&amp;#39;offer-title&amp;#39;])&amp;quot;,&amp;nbsp;$item);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$price&amp;nbsp;=&amp;nbsp;$xpath-&amp;gt;evaluate(&amp;quot;string(.//span[@class=&amp;#39;price&amp;#39;])&amp;quot;,&amp;nbsp;$item);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$description&amp;nbsp;=&amp;nbsp;$xpath-&amp;gt;evaluate(&amp;quot;string(.//div[@class=&amp;#39;desc&amp;#39;])&amp;quot;,&amp;nbsp;$item);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$sales&amp;nbsp;=&amp;nbsp;$xpath-&amp;gt;evaluate(&amp;quot;string(.//span[@class=&amp;#39;sales&amp;#39;])&amp;quot;,&amp;nbsp;$item);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$products[]&amp;nbsp;=&amp;nbsp;[
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;#39;title&amp;#39;&amp;nbsp;=&amp;gt;&amp;nbsp;$title,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;#39;price&amp;#39;&amp;nbsp;=&amp;gt;&amp;nbsp;$price,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;#39;description&amp;#39;&amp;nbsp;=&amp;gt;&amp;nbsp;$description,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;#39;sales&amp;#39;&amp;nbsp;=&amp;gt;&amp;nbsp;$sales
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;];
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;$products;
}
?&amp;gt;&lt;/pre&gt;&lt;h3 class=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-stretch: inherit; font-size: var(--markdown-B1_Content_Emphasized-font-size); line-height: var(--markdown-B1_Content_Emphasized-line-height); font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap: wrap; background-color: rgb(255, 255, 255);&quot;&gt;（三）按关键字搜索商品&lt;/h3&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-stretch: inherit; font-size: var(--markdown-B1_Content-font-size); line-height: var(--markdown-B1_Content-line-height); font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;根据关键字构建搜索 URL，并获取搜索结果页面的 HTML 内容&lt;span data-v-d55fe56f=&quot;&quot; class=&quot;rag-tag text&quot; data-index=&quot;6&quot; data-site-name=&quot;CSDN博客&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 1px 8px; border: 0px; vertical-align: baseline; box-sizing: border-box; position: relative; top: -1px; cursor: pointer; user-select: none; max-width: 100px; min-width: 18px; height: 24px; display: inline-flex; align-items: center; justify-content: center; border-radius: 24px; color: var(--Labels-Secondary); background-color: var(--Fills-F2);&quot;&gt;&lt;/span&gt;。&lt;/div&gt;&lt;pre class=&quot;prism-highlight prism-language-php&quot;&gt;&amp;lt;?php
function&amp;nbsp;search_products($keyword,&amp;nbsp;$page&amp;nbsp;=&amp;nbsp;1)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$baseUrl&amp;nbsp;=&amp;nbsp;&amp;quot;https://s.1688.com/selloffer/offer_search.htm&amp;quot;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$url&amp;nbsp;=&amp;nbsp;$baseUrl&amp;nbsp;.&amp;nbsp;&amp;quot;?keywords=&amp;quot;&amp;nbsp;.&amp;nbsp;urlencode($keyword)&amp;nbsp;.&amp;nbsp;&amp;quot;&amp;amp;pageno=&amp;quot;&amp;nbsp;.&amp;nbsp;$page;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$html&amp;nbsp;=&amp;nbsp;get_html($url);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;parse_html($html);
}
?&amp;gt;&lt;/pre&gt;&lt;h3 class=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-stretch: inherit; font-size: var(--markdown-B1_Content_Emphasized-font-size); line-height: var(--markdown-B1_Content_Emphasized-line-height); font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap: wrap; background-color: rgb(255, 255, 255);&quot;&gt;（四）整合代码&lt;/h3&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-stretch: inherit; font-size: var(--markdown-B1_Content-font-size); line-height: var(--markdown-B1_Content-line-height); font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;将上述功能整合到主程序中，实现完整的爬虫程序&lt;span data-v-d55fe56f=&quot;&quot; class=&quot;rag-tag text&quot; data-index=&quot;7&quot; data-site-name=&quot;CSDN博客&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 1px 8px; border: 0px; vertical-align: baseline; box-sizing: border-box; position: relative; top: -1px; cursor: pointer; user-select: none; max-width: 100px; min-width: 18px; height: 24px; display: inline-flex; align-items: center; justify-content: center; border-radius: 24px; color: var(--Labels-Secondary); background-color: var(--Fills-F2);&quot;&gt;&lt;/span&gt;。&lt;/div&gt;&lt;pre class=&quot;prism-highlight prism-language-php&quot;&gt;&amp;lt;?php
$keyword&amp;nbsp;=&amp;nbsp;&amp;quot;女装&amp;quot;;
$products&amp;nbsp;=&amp;nbsp;search_products($keyword);
foreach&amp;nbsp;($products&amp;nbsp;as&amp;nbsp;$product)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;echo&amp;nbsp;&amp;quot;商品名称:&amp;nbsp;&amp;quot;&amp;nbsp;.&amp;nbsp;$product[&amp;#39;title&amp;#39;]&amp;nbsp;.&amp;nbsp;&amp;quot;\n&amp;quot;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;echo&amp;nbsp;&amp;quot;商品价格:&amp;nbsp;&amp;quot;&amp;nbsp;.&amp;nbsp;$product[&amp;#39;price&amp;#39;]&amp;nbsp;.&amp;nbsp;&amp;quot;\n&amp;quot;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;echo&amp;nbsp;&amp;quot;商品描述:&amp;nbsp;&amp;quot;&amp;nbsp;.&amp;nbsp;$product[&amp;#39;description&amp;#39;]&amp;nbsp;.&amp;nbsp;&amp;quot;\n&amp;quot;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;echo&amp;nbsp;&amp;quot;商品销量:&amp;nbsp;&amp;quot;&amp;nbsp;.&amp;nbsp;$product[&amp;#39;sales&amp;#39;]&amp;nbsp;.&amp;nbsp;&amp;quot;\n&amp;quot;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;echo&amp;nbsp;&amp;quot;----------------------\n&amp;quot;;
}
?&amp;gt;&lt;/pre&gt;&lt;h2 class=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-stretch: inherit; font-size: var(--markdown-H2_Content-font-size); line-height: var(--markdown-H2_Content-line-height); font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap: wrap; background-color: rgb(255, 255, 255);&quot;&gt;三、注意事项与优化建议&lt;/h2&gt;&lt;h3 class=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-stretch: inherit; font-size: var(--markdown-B1_Content_Emphasized-font-size); line-height: var(--markdown-B1_Content_Emphasized-line-height); font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap: wrap; background-color: rgb(255, 255, 255);&quot;&gt;（一）遵守法律法规&lt;/h3&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-stretch: inherit; font-size: var(--markdown-B1_Content-font-size); line-height: var(--markdown-B1_Content-line-height); font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;在进行爬虫操作时，必须严格遵守相关法律法规，尊重网站的 &lt;code data-v-cad61513=&quot;&quot; data-v-3a4aba44=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; color: var(--Labels-Primary); background-color: var(--Fills-F1); border-radius: 4px; max-width: 100%; word-break: break-word; overflow: auto;&quot;&gt;robots.txt&lt;/code&gt; 文件规定&lt;span data-v-d55fe56f=&quot;&quot; class=&quot;rag-tag text&quot; data-index=&quot;8&quot; data-site-name=&quot;CSDN博客&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 1px 8px; border: 0px; vertical-align: baseline; box-sizing: border-box; position: relative; top: -1px; cursor: pointer; user-select: none; max-width: 100px; min-width: 18px; height: 24px; display: inline-flex; align-items: center; justify-content: center; border-radius: 24px; color: var(--Labels-Secondary); background-color: var(--Fills-F2);&quot;&gt;&lt;/span&gt;。&lt;/div&gt;&lt;h3 class=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-stretch: inherit; font-size: var(--markdown-B1_Content_Emphasized-font-size); line-height: var(--markdown-B1_Content_Emphasized-line-height); font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap: wrap; background-color: rgb(255, 255, 255);&quot;&gt;（二）合理设置请求频率&lt;/h3&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-stretch: inherit; font-size: var(--markdown-B1_Content-font-size); line-height: var(--markdown-B1_Content-line-height); font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;避免过高的请求频率导致对方服务器压力过大，甚至被封禁 IP&lt;span data-v-d55fe56f=&quot;&quot; class=&quot;rag-tag text&quot; data-index=&quot;9&quot; data-site-name=&quot;CSDN博客&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 1px 8px; border: 0px; vertical-align: baseline; box-sizing: border-box; position: relative; top: -1px; cursor: pointer; user-select: none; max-width: 100px; min-width: 18px; height: 24px; display: inline-flex; align-items: center; justify-content: center; border-radius: 24px; color: var(--Labels-Secondary); background-color: var(--Fills-F2);&quot;&gt;&lt;/span&gt;。&lt;/div&gt;&lt;h3 class=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-stretch: inherit; font-size: var(--markdown-B1_Content_Emphasized-font-size); line-height: var(--markdown-B1_Content_Emphasized-line-height); font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap: wrap; background-color: rgb(255, 255, 255);&quot;&gt;（三）应对反爬机制&lt;/h3&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-stretch: inherit; font-size: var(--markdown-B1_Content-font-size); line-height: var(--markdown-B1_Content-line-height); font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;1688 平台可能会采取一些反爬措施，如限制 IP 访问频率、识别爬虫特征等。可以通过使用动态代理、模拟正常用户行为等方式应对&lt;span data-v-d55fe56f=&quot;&quot; class=&quot;rag-tag text&quot; data-index=&quot;10&quot; data-site-name=&quot;CSDN博客&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 1px 8px; border: 0px; vertical-align: baseline; box-sizing: border-box; position: relative; top: -1px; cursor: pointer; user-select: none; max-width: 100px; min-width: 18px; height: 24px; display: inline-flex; align-items: center; justify-content: center; border-radius: 24px; color: var(--Labels-Secondary); background-color: var(--Fills-F2);&quot;&gt;&lt;/span&gt;。&lt;/div&gt;&lt;h3 class=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-stretch: inherit; font-size: var(--markdown-B1_Content_Emphasized-font-size); line-height: var(--markdown-B1_Content_Emphasized-line-height); font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap: wrap; background-color: rgb(255, 255, 255);&quot;&gt;（四）数据存储&lt;/h3&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-stretch: inherit; font-size: var(--markdown-B1_Content-font-size); line-height: var(--markdown-B1_Content-line-height); font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;获取到的商品信息可以存储到文件或数据库中，以便后续分析和使用&lt;span data-v-d55fe56f=&quot;&quot; class=&quot;rag-tag text&quot; data-index=&quot;11&quot; data-site-name=&quot;CSDN博客&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 1px 8px; border: 0px; vertical-align: baseline; box-sizing: border-box; position: relative; top: -1px; cursor: pointer; user-select: none; max-width: 100px; min-width: 18px; height: 24px; display: inline-flex; align-items: center; justify-content: center; border-radius: 24px; color: var(--Labels-Secondary); background-color: var(--Fills-F2);&quot;&gt;&lt;/span&gt;。&lt;/div&gt;&lt;h2 class=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-stretch: inherit; font-size: var(--markdown-H2_Content-font-size); line-height: var(--markdown-H2_Content-line-height); font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap: wrap; background-color: rgb(255, 255, 255);&quot;&gt;四、总结&lt;/h2&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-stretch: inherit; font-size: var(--markdown-B1_Content-font-size); line-height: var(--markdown-B1_Content-line-height); font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;通过上述步骤和代码示例，你可以高效地利用爬虫技术按关键字搜索 1688 商品，并获取其详细信息。无论是用于市场调研、竞品分析还是用户体验优化，这些数据都将为你提供强大的支持。希望本文的示例和策略能帮助你在爬虫开发中更好地应对各种挑战，确保爬虫程序的高效、稳定运行&lt;span data-v-d55fe56f=&quot;&quot; class=&quot;rag-tag text&quot; data-index=&quot;12&quot; data-site-name=&quot;CSDN博客&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 1px 8px; border: 0px; vertical-align: baseline; box-sizing: border-box; position: relative; top: -1px; cursor: pointer; user-select: none; max-width: 100px; min-width: 18px; height: 24px; display: inline-flex; align-items: center; justify-content: center; border-radius: 24px; color: var(--Labels-Secondary); background-color: var(--Fills-F2);&quot;&gt;&lt;/span&gt;。&lt;/div&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;</description><pubDate>Mon, 25 Aug 2025 16:20:41 +0800</pubDate></item><item><title>《Jsoup 库使用指南》</title><link>https://obapi.cn/?id=7</link><description>&lt;p&gt;Jsoup 是一个开源的 Java 库，专门用于解析 HTML 文档。它提供了非常强大的功能，可以轻松地从 HTML 中提取数据、修改文档结构等。本文将详细介绍 Jsoup 的基本使用方法，帮助你快速上手。&lt;/p&gt;&lt;h2&gt;一、Jsoup 的功能&lt;/h2&gt;&lt;h3&gt;（一）解析 HTML 文档&lt;/h3&gt;&lt;p class=&quot;paragraph&quot;&gt;Jsoup 可以解析本地 HTML 文件或从网络获取 HTML 内容。它能够将 HTML 文档解析为一个 DOM 树，方便后续操作。&lt;/p&gt;&lt;h3&gt;（二）提取数据&lt;/h3&gt;&lt;p class=&quot;paragraph&quot;&gt;通过选择器（Selectors），可以轻松地从 HTML 文档中提取特定的元素和属性。例如，提取所有链接、图片地址等。&lt;/p&gt;&lt;h3&gt;（三）修改文档结构&lt;/h3&gt;&lt;p class=&quot;paragraph&quot;&gt;Jsoup 允许你修改 HTML 文档的结构，如添加、删除或修改元素和属性。&lt;/p&gt;&lt;h3&gt;（四）输出 HTML&lt;/h3&gt;&lt;p class=&quot;paragraph&quot;&gt;可以将修改后的 HTML 文档输出为字符串，或者保存到文件中。&lt;/p&gt;&lt;h2&gt;二、Jsoup 的基本使用&lt;/h2&gt;&lt;h3&gt;（一）添加依赖&lt;/h3&gt;&lt;p class=&quot;paragraph&quot;&gt;如果你使用 Maven 管理项目，可以在 &lt;code style=&quot;background-color: rgb(231, 243, 237); padding: 1px 3px; border-radius: 4px; overflow-wrap: break-word; display: inline-block;&quot;&gt;pom.xml&lt;/code&gt; 文件中添加以下依赖：&lt;/p&gt;&lt;p class=&quot;segment-code-header-content&quot;&gt;xml&lt;/p&gt;&lt;div&gt;&lt;pre class=&quot;language-xml&quot;&gt;&amp;lt;dependency&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;groupId&amp;gt;org.jsoup&amp;lt;/groupId&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;artifactId&amp;gt;jsoup&amp;lt;/artifactId&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;version&amp;gt;1.14.3&amp;lt;/version&amp;gt;
&amp;lt;/dependency&amp;gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3&gt;（二）解析 HTML 文档&lt;/h3&gt;&lt;p class=&quot;paragraph&quot;&gt;从字符串解析 HTML：&lt;/p&gt;&lt;p class=&quot;segment-code-header-content&quot;&gt;java&lt;/p&gt;&lt;div&gt;&lt;pre class=&quot;language-java&quot;&gt;import&amp;nbsp;org.jsoup.Jsoup;
import&amp;nbsp;org.jsoup.nodes.Document;

public&amp;nbsp;class&amp;nbsp;JsoupExample&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;static&amp;nbsp;void&amp;nbsp;main(String[]&amp;nbsp;args)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;String&amp;nbsp;html&amp;nbsp;=&amp;nbsp;&amp;quot;&amp;lt;html&amp;gt;&amp;lt;head&amp;gt;&amp;lt;title&amp;gt;First&amp;nbsp;parse&amp;lt;/title&amp;gt;&amp;lt;/head&amp;gt;&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;+&amp;nbsp;&amp;quot;&amp;lt;body&amp;gt;&amp;lt;p&amp;gt;Parsed&amp;nbsp;HTML&amp;nbsp;into&amp;nbsp;a&amp;nbsp;doc.&amp;lt;/p&amp;gt;&amp;lt;/body&amp;gt;&amp;lt;/html&amp;gt;&amp;quot;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Document&amp;nbsp;doc&amp;nbsp;=&amp;nbsp;Jsoup.parse(html);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.println(doc.title());
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
}&lt;/pre&gt;&lt;/div&gt;&lt;p class=&quot;paragraph&quot;&gt;从文件解析 HTML：&lt;/p&gt;&lt;p class=&quot;segment-code-header-content&quot;&gt;java&lt;/p&gt;&lt;div&gt;&lt;pre class=&quot;language-java&quot;&gt;import&amp;nbsp;org.jsoup.Jsoup;
import&amp;nbsp;org.jsoup.nodes.Document;

import&amp;nbsp;java.io.File;
import&amp;nbsp;java.io.IOException;

public&amp;nbsp;class&amp;nbsp;JsoupExample&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;static&amp;nbsp;void&amp;nbsp;main(String[]&amp;nbsp;args)&amp;nbsp;throws&amp;nbsp;IOException&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;File&amp;nbsp;input&amp;nbsp;=&amp;nbsp;new&amp;nbsp;File(&amp;quot;example.html&amp;quot;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Document&amp;nbsp;doc&amp;nbsp;=&amp;nbsp;Jsoup.parse(input,&amp;nbsp;&amp;quot;UTF-8&amp;quot;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.println(doc.title());
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
}&lt;/pre&gt;&lt;/div&gt;&lt;p class=&quot;paragraph&quot;&gt;从 URL 获取 HTML：&lt;/p&gt;&lt;p class=&quot;segment-code-header-content&quot;&gt;java&lt;/p&gt;&lt;div&gt;&lt;pre class=&quot;language-java&quot;&gt;import&amp;nbsp;org.jsoup.Jsoup;
import&amp;nbsp;org.jsoup.nodes.Document;

public&amp;nbsp;class&amp;nbsp;JsoupExample&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;static&amp;nbsp;void&amp;nbsp;main(String[]&amp;nbsp;args)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;try&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Document&amp;nbsp;doc&amp;nbsp;=&amp;nbsp;Jsoup.connect(&amp;quot;http://example.com/&amp;quot;).get();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.println(doc.title());
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;catch&amp;nbsp;(IOException&amp;nbsp;e)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;e.printStackTrace();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
}&lt;/pre&gt;&lt;/div&gt;&lt;h3&gt;（三）提取数据&lt;/h3&gt;&lt;p class=&quot;paragraph&quot;&gt;使用选择器提取特定元素：&lt;/p&gt;&lt;p class=&quot;segment-code-header-content&quot;&gt;java&lt;/p&gt;&lt;div&gt;&lt;pre class=&quot;language-java&quot;&gt;import&amp;nbsp;org.jsoup.Jsoup;
import&amp;nbsp;org.jsoup.nodes.Document;
import&amp;nbsp;org.jsoup.nodes.Element;
import&amp;nbsp;org.jsoup.select.Elements;

public&amp;nbsp;class&amp;nbsp;JsoupExample&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;static&amp;nbsp;void&amp;nbsp;main(String[]&amp;nbsp;args)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;try&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Document&amp;nbsp;doc&amp;nbsp;=&amp;nbsp;Jsoup.connect(&amp;quot;http://example.com/&amp;quot;).get();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Elements&amp;nbsp;links&amp;nbsp;=&amp;nbsp;doc.select(&amp;quot;a[href]&amp;quot;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for&amp;nbsp;(Element&amp;nbsp;link&amp;nbsp;:&amp;nbsp;links)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.println(link.attr(&amp;quot;href&amp;quot;));
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.println(link.text());
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;catch&amp;nbsp;(IOException&amp;nbsp;e)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;e.printStackTrace();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
}&lt;/pre&gt;&lt;/div&gt;&lt;p class=&quot;paragraph&quot;&gt;提取特定属性：&lt;/p&gt;&lt;p class=&quot;segment-code-header-content&quot;&gt;java&lt;/p&gt;&lt;div&gt;&lt;pre class=&quot;language-java&quot;&gt;import&amp;nbsp;org.jsoup.Jsoup;
import&amp;nbsp;org.jsoup.nodes.Document;
import&amp;nbsp;org.jsoup.nodes.Element;
import&amp;nbsp;org.jsoup.select.Elements;

public&amp;nbsp;class&amp;nbsp;JsoupExample&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;static&amp;nbsp;void&amp;nbsp;main(String[]&amp;nbsp;args)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;try&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Document&amp;nbsp;doc&amp;nbsp;=&amp;nbsp;Jsoup.connect(&amp;quot;http://example.com/&amp;quot;).get();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Elements&amp;nbsp;images&amp;nbsp;=&amp;nbsp;doc.select(&amp;quot;img[src]&amp;quot;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for&amp;nbsp;(Element&amp;nbsp;img&amp;nbsp;:&amp;nbsp;images)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.println(img.attr(&amp;quot;src&amp;quot;));
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;catch&amp;nbsp;(IOException&amp;nbsp;e)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;e.printStackTrace();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
}&lt;/pre&gt;&lt;/div&gt;&lt;h3&gt;（四）修改文档结构&lt;/h3&gt;&lt;p class=&quot;paragraph&quot;&gt;添加元素：&lt;/p&gt;&lt;p class=&quot;segment-code-header-content&quot;&gt;java&lt;/p&gt;&lt;div&gt;&lt;pre class=&quot;language-java&quot;&gt;import&amp;nbsp;org.jsoup.Jsoup;
import&amp;nbsp;org.jsoup.nodes.Document;
import&amp;nbsp;org.jsoup.nodes.Element;

public&amp;nbsp;class&amp;nbsp;JsoupExample&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;static&amp;nbsp;void&amp;nbsp;main(String[]&amp;nbsp;args)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;try&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Document&amp;nbsp;doc&amp;nbsp;=&amp;nbsp;Jsoup.connect(&amp;quot;http://example.com/&amp;quot;).get();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Element&amp;nbsp;newParagraph&amp;nbsp;=&amp;nbsp;new&amp;nbsp;Element(&amp;quot;p&amp;quot;).text(&amp;quot;This&amp;nbsp;is&amp;nbsp;a&amp;nbsp;new&amp;nbsp;paragraph.&amp;quot;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;doc.body().appendChild(newParagraph);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.println(doc.html());
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;catch&amp;nbsp;(IOException&amp;nbsp;e)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;e.printStackTrace();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
}&lt;/pre&gt;&lt;/div&gt;&lt;p class=&quot;paragraph&quot;&gt;删除元素：&lt;/p&gt;&lt;p class=&quot;segment-code-header-content&quot;&gt;java&lt;/p&gt;&lt;div&gt;&lt;pre class=&quot;language-java&quot;&gt;import&amp;nbsp;org.jsoup.Jsoup;
import&amp;nbsp;org.jsoup.nodes.Document;
import&amp;nbsp;org.jsoup.nodes.Element;

public&amp;nbsp;class&amp;nbsp;JsoupExample&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;static&amp;nbsp;void&amp;nbsp;main(String[]&amp;nbsp;args)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;try&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Document&amp;nbsp;doc&amp;nbsp;=&amp;nbsp;Jsoup.connect(&amp;quot;http://example.com/&amp;quot;).get();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Element&amp;nbsp;toRemove&amp;nbsp;=&amp;nbsp;doc.select(&amp;quot;p&amp;quot;).first();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;toRemove.remove();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.println(doc.html());
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;catch&amp;nbsp;(IOException&amp;nbsp;e)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;e.printStackTrace();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
}&lt;/pre&gt;&lt;/div&gt;&lt;p class=&quot;paragraph&quot;&gt;修改元素属性：&lt;/p&gt;&lt;p class=&quot;segment-code-header-content&quot;&gt;java&lt;/p&gt;&lt;div&gt;&lt;pre class=&quot;language-java&quot;&gt;import&amp;nbsp;org.jsoup.Jsoup;
import&amp;nbsp;org.jsoup.nodes.Document;
import&amp;nbsp;org.jsoup.nodes.Element;

public&amp;nbsp;class&amp;nbsp;JsoupExample&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;static&amp;nbsp;void&amp;nbsp;main(String[]&amp;nbsp;args)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;try&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Document&amp;nbsp;doc&amp;nbsp;=&amp;nbsp;Jsoup.connect(&amp;quot;http://example.com/&amp;quot;).get();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Element&amp;nbsp;link&amp;nbsp;=&amp;nbsp;doc.select(&amp;quot;a&amp;quot;).first();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;link.attr(&amp;quot;href&amp;quot;,&amp;nbsp;&amp;quot;http://newurl.com&amp;quot;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.println(doc.html());
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;catch&amp;nbsp;(IOException&amp;nbsp;e)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;e.printStackTrace();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
}&lt;/pre&gt;&lt;/div&gt;&lt;h3&gt;（五）输出 HTML&lt;/h3&gt;&lt;p class=&quot;paragraph&quot;&gt;将修改后的 HTML 输出为字符串：&lt;/p&gt;&lt;p class=&quot;segment-code-header-content&quot;&gt;java&lt;/p&gt;&lt;div&gt;&lt;pre class=&quot;language-java&quot;&gt;import&amp;nbsp;org.jsoup.Jsoup;
import&amp;nbsp;org.jsoup.nodes.Document;

public&amp;nbsp;class&amp;nbsp;JsoupExample&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;static&amp;nbsp;void&amp;nbsp;main(String[]&amp;nbsp;args)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;try&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Document&amp;nbsp;doc&amp;nbsp;=&amp;nbsp;Jsoup.connect(&amp;quot;http://example.com/&amp;quot;).get();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.println(doc.html());
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;catch&amp;nbsp;(IOException&amp;nbsp;e)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;e.printStackTrace();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
}&lt;/pre&gt;&lt;/div&gt;&lt;p class=&quot;paragraph&quot;&gt;保存到文件：&lt;/p&gt;&lt;p class=&quot;segment-code-header-content&quot;&gt;java&lt;/p&gt;&lt;div&gt;&lt;pre class=&quot;language-java&quot;&gt;import&amp;nbsp;org.jsoup.Jsoup;
import&amp;nbsp;org.jsoup.nodes.Document;

import&amp;nbsp;java.io.BufferedWriter;
import&amp;nbsp;java.io.FileWriter;
import&amp;nbsp;java.io.IOException;

public&amp;nbsp;class&amp;nbsp;JsoupExample&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;static&amp;nbsp;void&amp;nbsp;main(String[]&amp;nbsp;args)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;try&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Document&amp;nbsp;doc&amp;nbsp;=&amp;nbsp;Jsoup.connect(&amp;quot;http://example.com/&amp;quot;).get();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;try&amp;nbsp;(BufferedWriter&amp;nbsp;writer&amp;nbsp;=&amp;nbsp;new&amp;nbsp;BufferedWriter(new&amp;nbsp;FileWriter(&amp;quot;output.html&amp;quot;)))&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;writer.write(doc.html());
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;catch&amp;nbsp;(IOException&amp;nbsp;e)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;e.printStackTrace();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
}&lt;/pre&gt;&lt;/div&gt;&lt;h2&gt;三、注意事项&lt;/h2&gt;&lt;h3&gt;（一）网络请求&lt;/h3&gt;&lt;p class=&quot;paragraph&quot;&gt;在从网络获取 HTML 时，可能会遇到网络问题或目标网站的反爬虫机制。建议合理设置请求频率，避免对目标网站造成过大压力。&lt;/p&gt;&lt;h3&gt;（二）选择器语法&lt;/h3&gt;&lt;p class=&quot;paragraph&quot;&gt;Jsoup 的选择器语法类似于 CSS 选择器，非常强大。建议熟悉常用的选择器语法，以便更高效地提取数据。&lt;/p&gt;&lt;h3&gt;（三）异常处理&lt;/h3&gt;&lt;p class=&quot;paragraph&quot;&gt;在实际开发中，建议添加异常处理机制，确保程序的健壮性。&lt;/p&gt;&lt;h2&gt;四、总结&lt;/h2&gt;&lt;p class=&quot;paragraph&quot;&gt;Jsoup 是一个非常强大的 HTML 解析库，可以轻松地解析 HTML 文档、提取数据、修改文档结构等。通过本文的介绍和代码示例，你应该能够快速上手使用 Jsoup。希望这些内容对你有所帮助，祝你在开发中取得成功！Jsoup 是一个开源的 Java 库，专门用于解析 HTML 文档。它提供了非常强大的功能，可以轻松地从 HTML 中提取数据、修改文档结构等。本文将详细介绍 Jsoup 的基本使用方法，帮助你快速上手。&lt;/p&gt;&lt;h2&gt;一、Jsoup 的功能&lt;/h2&gt;&lt;h3&gt;（一）解析 HTML 文档&lt;/h3&gt;&lt;p class=&quot;paragraph&quot;&gt;Jsoup 可以解析本地 HTML 文件或从网络获取 HTML 内容。它能够将 HTML 文档解析为一个 DOM 树，方便后续操作。&lt;/p&gt;&lt;h3&gt;（二）提取数据&lt;/h3&gt;&lt;p class=&quot;paragraph&quot;&gt;通过选择器（Selectors），可以轻松地从 HTML 文档中提取特定的元素和属性。例如，提取所有链接、图片地址等。&lt;/p&gt;&lt;h3&gt;（三）修改文档结构&lt;/h3&gt;&lt;p class=&quot;paragraph&quot;&gt;Jsoup 允许你修改 HTML 文档的结构，如添加、删除或修改元素和属性。&lt;/p&gt;&lt;h3&gt;（四）输出 HTML&lt;/h3&gt;&lt;p class=&quot;paragraph&quot;&gt;可以将修改后的 HTML 文档输出为字符串，或者保存到文件中。&lt;/p&gt;&lt;h2&gt;二、Jsoup 的基本使用&lt;/h2&gt;&lt;h3&gt;（一）添加依赖&lt;/h3&gt;&lt;p class=&quot;paragraph&quot;&gt;如果你使用 Maven 管理项目，可以在 &lt;code style=&quot;background-color: rgb(231, 243, 237); padding: 1px 3px; border-radius: 4px; overflow-wrap: break-word; display: inline-block;&quot;&gt;pom.xml&lt;/code&gt; 文件中添加以下依赖：&lt;/p&gt;&lt;p class=&quot;segment-code-header-content&quot;&gt;xml&lt;/p&gt;&lt;div&gt;&lt;pre class=&quot;language-xml&quot;&gt;&amp;lt;dependency&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;groupId&amp;gt;org.jsoup&amp;lt;/groupId&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;artifactId&amp;gt;jsoup&amp;lt;/artifactId&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;version&amp;gt;1.14.3&amp;lt;/version&amp;gt;
&amp;lt;/dependency&amp;gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3&gt;（二）解析 HTML 文档&lt;/h3&gt;&lt;p class=&quot;paragraph&quot;&gt;从字符串解析 HTML：&lt;/p&gt;&lt;p class=&quot;segment-code-header-content&quot;&gt;java&lt;/p&gt;&lt;div&gt;&lt;pre class=&quot;language-java&quot;&gt;import&amp;nbsp;org.jsoup.Jsoup;
import&amp;nbsp;org.jsoup.nodes.Document;

public&amp;nbsp;class&amp;nbsp;JsoupExample&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;static&amp;nbsp;void&amp;nbsp;main(String[]&amp;nbsp;args)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;String&amp;nbsp;html&amp;nbsp;=&amp;nbsp;&amp;quot;&amp;lt;html&amp;gt;&amp;lt;head&amp;gt;&amp;lt;title&amp;gt;First&amp;nbsp;parse&amp;lt;/title&amp;gt;&amp;lt;/head&amp;gt;&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;+&amp;nbsp;&amp;quot;&amp;lt;body&amp;gt;&amp;lt;p&amp;gt;Parsed&amp;nbsp;HTML&amp;nbsp;into&amp;nbsp;a&amp;nbsp;doc.&amp;lt;/p&amp;gt;&amp;lt;/body&amp;gt;&amp;lt;/html&amp;gt;&amp;quot;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Document&amp;nbsp;doc&amp;nbsp;=&amp;nbsp;Jsoup.parse(html);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.println(doc.title());
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
}&lt;/pre&gt;&lt;/div&gt;&lt;p class=&quot;paragraph&quot;&gt;从文件解析 HTML：&lt;/p&gt;&lt;p class=&quot;segment-code-header-content&quot;&gt;java&lt;/p&gt;&lt;div&gt;&lt;pre class=&quot;language-java&quot;&gt;import&amp;nbsp;org.jsoup.Jsoup;
import&amp;nbsp;org.jsoup.nodes.Document;

import&amp;nbsp;java.io.File;
import&amp;nbsp;java.io.IOException;

public&amp;nbsp;class&amp;nbsp;JsoupExample&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;static&amp;nbsp;void&amp;nbsp;main(String[]&amp;nbsp;args)&amp;nbsp;throws&amp;nbsp;IOException&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;File&amp;nbsp;input&amp;nbsp;=&amp;nbsp;new&amp;nbsp;File(&amp;quot;example.html&amp;quot;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Document&amp;nbsp;doc&amp;nbsp;=&amp;nbsp;Jsoup.parse(input,&amp;nbsp;&amp;quot;UTF-8&amp;quot;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.println(doc.title());
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
}&lt;/pre&gt;&lt;/div&gt;&lt;p class=&quot;paragraph&quot;&gt;从 URL 获取 HTML：&lt;/p&gt;&lt;p class=&quot;segment-code-header-content&quot;&gt;java&lt;/p&gt;&lt;div&gt;&lt;pre class=&quot;language-java&quot;&gt;import&amp;nbsp;org.jsoup.Jsoup;
import&amp;nbsp;org.jsoup.nodes.Document;

public&amp;nbsp;class&amp;nbsp;JsoupExample&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;static&amp;nbsp;void&amp;nbsp;main(String[]&amp;nbsp;args)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;try&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Document&amp;nbsp;doc&amp;nbsp;=&amp;nbsp;Jsoup.connect(&amp;quot;http://example.com/&amp;quot;).get();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.println(doc.title());
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;catch&amp;nbsp;(IOException&amp;nbsp;e)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;e.printStackTrace();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
}&lt;/pre&gt;&lt;/div&gt;&lt;h3&gt;（三）提取数据&lt;/h3&gt;&lt;p class=&quot;paragraph&quot;&gt;使用选择器提取特定元素：&lt;/p&gt;&lt;p class=&quot;segment-code-header-content&quot;&gt;java&lt;/p&gt;&lt;div&gt;&lt;pre class=&quot;language-java&quot;&gt;import&amp;nbsp;org.jsoup.Jsoup;
import&amp;nbsp;org.jsoup.nodes.Document;
import&amp;nbsp;org.jsoup.nodes.Element;
import&amp;nbsp;org.jsoup.select.Elements;

public&amp;nbsp;class&amp;nbsp;JsoupExample&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;static&amp;nbsp;void&amp;nbsp;main(String[]&amp;nbsp;args)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;try&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Document&amp;nbsp;doc&amp;nbsp;=&amp;nbsp;Jsoup.connect(&amp;quot;http://example.com/&amp;quot;).get();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Elements&amp;nbsp;links&amp;nbsp;=&amp;nbsp;doc.select(&amp;quot;a[href]&amp;quot;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for&amp;nbsp;(Element&amp;nbsp;link&amp;nbsp;:&amp;nbsp;links)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.println(link.attr(&amp;quot;href&amp;quot;));
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.println(link.text());
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;catch&amp;nbsp;(IOException&amp;nbsp;e)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;e.printStackTrace();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
}&lt;/pre&gt;&lt;/div&gt;&lt;p class=&quot;paragraph&quot;&gt;提取特定属性：&lt;/p&gt;&lt;p class=&quot;segment-code-header-content&quot;&gt;java&lt;/p&gt;&lt;div&gt;&lt;pre class=&quot;language-java&quot;&gt;import&amp;nbsp;org.jsoup.Jsoup;
import&amp;nbsp;org.jsoup.nodes.Document;
import&amp;nbsp;org.jsoup.nodes.Element;
import&amp;nbsp;org.jsoup.select.Elements;

public&amp;nbsp;class&amp;nbsp;JsoupExample&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;static&amp;nbsp;void&amp;nbsp;main(String[]&amp;nbsp;args)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;try&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Document&amp;nbsp;doc&amp;nbsp;=&amp;nbsp;Jsoup.connect(&amp;quot;http://example.com/&amp;quot;).get();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Elements&amp;nbsp;images&amp;nbsp;=&amp;nbsp;doc.select(&amp;quot;img[src]&amp;quot;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for&amp;nbsp;(Element&amp;nbsp;img&amp;nbsp;:&amp;nbsp;images)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.println(img.attr(&amp;quot;src&amp;quot;));
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;catch&amp;nbsp;(IOException&amp;nbsp;e)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;e.printStackTrace();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
}&lt;/pre&gt;&lt;/div&gt;&lt;h3&gt;（四）修改文档结构&lt;/h3&gt;&lt;p class=&quot;paragraph&quot;&gt;添加元素：&lt;/p&gt;&lt;p class=&quot;segment-code-header-content&quot;&gt;java&lt;/p&gt;&lt;div&gt;&lt;pre class=&quot;language-java&quot;&gt;import&amp;nbsp;org.jsoup.Jsoup;
import&amp;nbsp;org.jsoup.nodes.Document;
import&amp;nbsp;org.jsoup.nodes.Element;

public&amp;nbsp;class&amp;nbsp;JsoupExample&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;static&amp;nbsp;void&amp;nbsp;main(String[]&amp;nbsp;args)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;try&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Document&amp;nbsp;doc&amp;nbsp;=&amp;nbsp;Jsoup.connect(&amp;quot;http://example.com/&amp;quot;).get();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Element&amp;nbsp;newParagraph&amp;nbsp;=&amp;nbsp;new&amp;nbsp;Element(&amp;quot;p&amp;quot;).text(&amp;quot;This&amp;nbsp;is&amp;nbsp;a&amp;nbsp;new&amp;nbsp;paragraph.&amp;quot;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;doc.body().appendChild(newParagraph);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.println(doc.html());
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;catch&amp;nbsp;(IOException&amp;nbsp;e)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;e.printStackTrace();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
}&lt;/pre&gt;&lt;/div&gt;&lt;p class=&quot;paragraph&quot;&gt;删除元素：&lt;/p&gt;&lt;p class=&quot;segment-code-header-content&quot;&gt;java&lt;/p&gt;&lt;div&gt;&lt;pre class=&quot;language-java&quot;&gt;import&amp;nbsp;org.jsoup.Jsoup;
import&amp;nbsp;org.jsoup.nodes.Document;
import&amp;nbsp;org.jsoup.nodes.Element;

public&amp;nbsp;class&amp;nbsp;JsoupExample&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;static&amp;nbsp;void&amp;nbsp;main(String[]&amp;nbsp;args)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;try&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Document&amp;nbsp;doc&amp;nbsp;=&amp;nbsp;Jsoup.connect(&amp;quot;http://example.com/&amp;quot;).get();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Element&amp;nbsp;toRemove&amp;nbsp;=&amp;nbsp;doc.select(&amp;quot;p&amp;quot;).first();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;toRemove.remove();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.println(doc.html());
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;catch&amp;nbsp;(IOException&amp;nbsp;e)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;e.printStackTrace();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
}&lt;/pre&gt;&lt;/div&gt;&lt;p class=&quot;paragraph&quot;&gt;修改元素属性：&lt;/p&gt;&lt;p class=&quot;segment-code-header-content&quot;&gt;java&lt;/p&gt;&lt;div&gt;&lt;pre class=&quot;language-java&quot;&gt;import&amp;nbsp;org.jsoup.Jsoup;
import&amp;nbsp;org.jsoup.nodes.Document;
import&amp;nbsp;org.jsoup.nodes.Element;

public&amp;nbsp;class&amp;nbsp;JsoupExample&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;static&amp;nbsp;void&amp;nbsp;main(String[]&amp;nbsp;args)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;try&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Document&amp;nbsp;doc&amp;nbsp;=&amp;nbsp;Jsoup.connect(&amp;quot;http://example.com/&amp;quot;).get();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Element&amp;nbsp;link&amp;nbsp;=&amp;nbsp;doc.select(&amp;quot;a&amp;quot;).first();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;link.attr(&amp;quot;href&amp;quot;,&amp;nbsp;&amp;quot;http://newurl.com&amp;quot;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.println(doc.html());
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;catch&amp;nbsp;(IOException&amp;nbsp;e)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;e.printStackTrace();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
}&lt;/pre&gt;&lt;/div&gt;&lt;h3&gt;（五）输出 HTML&lt;/h3&gt;&lt;p class=&quot;paragraph&quot;&gt;将修改后的 HTML 输出为字符串：&lt;/p&gt;&lt;p class=&quot;segment-code-header-content&quot;&gt;java&lt;/p&gt;&lt;div&gt;&lt;pre class=&quot;language-java&quot;&gt;import&amp;nbsp;org.jsoup.Jsoup;
import&amp;nbsp;org.jsoup.nodes.Document;

public&amp;nbsp;class&amp;nbsp;JsoupExample&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;static&amp;nbsp;void&amp;nbsp;main(String[]&amp;nbsp;args)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;try&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Document&amp;nbsp;doc&amp;nbsp;=&amp;nbsp;Jsoup.connect(&amp;quot;http://example.com/&amp;quot;).get();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.println(doc.html());
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;catch&amp;nbsp;(IOException&amp;nbsp;e)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;e.printStackTrace();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
}&lt;/pre&gt;&lt;/div&gt;&lt;p class=&quot;paragraph&quot;&gt;保存到文件：&lt;/p&gt;&lt;p class=&quot;segment-code-header-content&quot;&gt;java&lt;/p&gt;&lt;div&gt;&lt;pre class=&quot;language-java&quot;&gt;import&amp;nbsp;org.jsoup.Jsoup;
import&amp;nbsp;org.jsoup.nodes.Document;

import&amp;nbsp;java.io.BufferedWriter;
import&amp;nbsp;java.io.FileWriter;
import&amp;nbsp;java.io.IOException;

public&amp;nbsp;class&amp;nbsp;JsoupExample&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;static&amp;nbsp;void&amp;nbsp;main(String[]&amp;nbsp;args)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;try&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Document&amp;nbsp;doc&amp;nbsp;=&amp;nbsp;Jsoup.connect(&amp;quot;http://example.com/&amp;quot;).get();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;try&amp;nbsp;(BufferedWriter&amp;nbsp;writer&amp;nbsp;=&amp;nbsp;new&amp;nbsp;BufferedWriter(new&amp;nbsp;FileWriter(&amp;quot;output.html&amp;quot;)))&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;writer.write(doc.html());
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;catch&amp;nbsp;(IOException&amp;nbsp;e)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;e.printStackTrace();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
}&lt;/pre&gt;&lt;/div&gt;&lt;h2&gt;三、注意事项&lt;/h2&gt;&lt;h3&gt;（一）网络请求&lt;/h3&gt;&lt;p class=&quot;paragraph&quot;&gt;在从网络获取 HTML 时，可能会遇到网络问题或目标网站的反爬虫机制。建议合理设置请求频率，避免对目标网站造成过大压力。&lt;/p&gt;&lt;h3&gt;（二）选择器语法&lt;/h3&gt;&lt;p class=&quot;paragraph&quot;&gt;Jsoup 的选择器语法类似于 CSS 选择器，非常强大。建议熟悉常用的选择器语法，以便更高效地提取数据。&lt;/p&gt;&lt;h3&gt;（三）异常处理&lt;/h3&gt;&lt;p class=&quot;paragraph&quot;&gt;在实际开发中，建议添加异常处理机制，确保程序的健壮性。&lt;/p&gt;&lt;h2&gt;四、总结&lt;/h2&gt;&lt;p class=&quot;paragraph&quot;&gt;Jsoup 是一个非常强大的 HTML 解析库，可以轻松地解析 HTML 文档、提取数据、修改文档结构等。通过本文的介绍和代码示例，你应该能够快速上手使用 Jsoup。希望这些内容对你有所帮助，祝你在开发中取得成功！&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;</description><pubDate>Mon, 18 Aug 2025 16:22:27 +0800</pubDate></item><item><title>《利用 Java 爬虫按图搜索淘宝商品（拍立淘）实战指南》</title><link>https://obapi.cn/?id=6</link><description>&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-stretch: inherit; font-size: var(--markdown-B1_Content-font-size); line-height: var(--markdown-B1_Content-line-height); font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;在电商领域，按图搜索商品（类似“拍立淘”功能）是一种非常实用的功能，尤其适合用户通过图片快速查找相似商品。以下是一个详细的实战指南，帮助你利用 Java 爬虫技术按图搜索淘宝商品&lt;span data-v-d55fe56f=&quot;&quot; class=&quot;rag-tag&quot; data-index=&quot;0&quot; data-site-name=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 5px 8px; border: 0px; vertical-align: baseline; box-sizing: border-box; position: relative; top: 1px; cursor: pointer; user-select: none; max-width: 100px; min-width: 18px; height: 24px; display: inline-flex; align-items: center; justify-content: center; border-radius: 24px; color: var(--Labels-Secondary); background-color: var(--Fills-F2);&quot;&gt;&lt;svg data-v-d55fe56f=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; aria-hidden=&quot;true&quot; role=&quot;img&quot; name=&quot;Link&quot; class=&quot;rag-icon iconify&quot; width=&quot;1em&quot; height=&quot;1em&quot; viewbox=&quot;0 0 1024 1024&quot;&gt;&lt;path d=&quot;M183.25504 363.3152C225.03424 333.25056 274.0224 323.584 307.2 323.584h81.92a36.864 36.864 0 1 1 0 73.728H307.2c-21.38112 0-54.31296 6.71744-80.85504 25.8048-24.65792 17.77664-46.12096 47.63648-46.12096 101.1712 0 53.53472 21.46304 83.39456 46.12096 101.1712 26.54208 19.08736 59.47392 25.8048 80.85504 25.8048h81.92a36.864 36.864 0 1 1 0 73.728H307.2c-33.1776 0-82.20672-9.66656-123.94496-39.7312C139.6736 653.84448 106.496 601.82528 106.496 524.288c0-77.53728 33.1776-129.59744 76.75904-160.9728zM598.016 360.448a36.864 36.864 0 0 1 36.864-36.864h81.92c33.1776 0 82.16576 9.66656 123.94496 39.7312 43.6224 31.37536 76.75904 83.43552 76.75904 160.9728 0 77.53728-33.1776 129.55648-76.75904 160.9728-41.7792 30.06464-90.7264 39.7312-123.94496 39.7312h-81.92a36.864 36.864 0 0 1 0-73.728h81.92c21.42208 0 54.31296-6.71744 80.85504-25.8048 24.65792-17.77664 46.12096-47.63648 46.12096-101.1712 0-53.53472-21.46304-83.43552-46.12096-101.1712-26.54208-19.08736-59.43296-25.8048-80.85504-25.8048h-81.92a36.864 36.864 0 0 1-36.864-36.864z m-286.72 163.84a36.864 36.864 0 0 1 36.864-36.864h327.68a36.864 36.864 0 1 1 0 73.728H348.16a36.864 36.864 0 0 1-36.864-36.864z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/span&gt;。&lt;/div&gt;&lt;h2 style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-stretch: inherit; font-size: var(--markdown-H2_Content-font-size); line-height: var(--markdown-H2_Content-line-height); font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap: wrap; background-color: rgb(255, 255, 255);&quot;&gt;一、准备工作&lt;/h2&gt;&lt;h3 style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-stretch: inherit; font-size: var(--markdown-B1_Content_Emphasized-font-size); line-height: var(--markdown-B1_Content_Emphasized-line-height); font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap: wrap; background-color: rgb(255, 255, 255);&quot;&gt;（一）注册淘宝开放平台账号&lt;/h3&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-stretch: inherit; font-size: var(--markdown-B1_Content-font-size); line-height: var(--markdown-B1_Content-line-height); font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;在使用淘宝按图搜索功能之前，需要在淘宝开放平台注册账号并创建应用。注册成功后，平台会分配一个 &lt;code data-v-cad61513=&quot;&quot; data-v-3a4aba44=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; color: var(--Labels-Primary); background-color: var(--Fills-F1); border-radius: 4px; max-width: 100%; word-break: break-word; overflow: auto;&quot;&gt;App Key&lt;/code&gt; 和 &lt;code data-v-cad61513=&quot;&quot; data-v-3a4aba44=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; color: var(--Labels-Primary); background-color: var(--Fills-F1); border-radius: 4px; max-width: 100%; word-break: break-word; overflow: auto;&quot;&gt;App Secret&lt;/code&gt;，这两个参数是调用 API 时的身份验证凭证&lt;span data-v-d55fe56f=&quot;&quot; class=&quot;rag-tag&quot; data-index=&quot;1&quot; data-site-name=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 5px 8px; border: 0px; vertical-align: baseline; box-sizing: border-box; position: relative; top: 1px; cursor: pointer; user-select: none; max-width: 100px; min-width: 18px; height: 24px; display: inline-flex; align-items: center; justify-content: center; border-radius: 24px; color: var(--Labels-Secondary); background-color: var(--Fills-F2);&quot;&gt;&lt;svg data-v-d55fe56f=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; aria-hidden=&quot;true&quot; role=&quot;img&quot; name=&quot;Link&quot; class=&quot;rag-icon iconify&quot; width=&quot;1em&quot; height=&quot;1em&quot; viewbox=&quot;0 0 1024 1024&quot;&gt;&lt;path d=&quot;M183.25504 363.3152C225.03424 333.25056 274.0224 323.584 307.2 323.584h81.92a36.864 36.864 0 1 1 0 73.728H307.2c-21.38112 0-54.31296 6.71744-80.85504 25.8048-24.65792 17.77664-46.12096 47.63648-46.12096 101.1712 0 53.53472 21.46304 83.39456 46.12096 101.1712 26.54208 19.08736 59.47392 25.8048 80.85504 25.8048h81.92a36.864 36.864 0 1 1 0 73.728H307.2c-33.1776 0-82.20672-9.66656-123.94496-39.7312C139.6736 653.84448 106.496 601.82528 106.496 524.288c0-77.53728 33.1776-129.59744 76.75904-160.9728zM598.016 360.448a36.864 36.864 0 0 1 36.864-36.864h81.92c33.1776 0 82.16576 9.66656 123.94496 39.7312 43.6224 31.37536 76.75904 83.43552 76.75904 160.9728 0 77.53728-33.1776 129.55648-76.75904 160.9728-41.7792 30.06464-90.7264 39.7312-123.94496 39.7312h-81.92a36.864 36.864 0 0 1 0-73.728h81.92c21.42208 0 54.31296-6.71744 80.85504-25.8048 24.65792-17.77664 46.12096-47.63648 46.12096-101.1712 0-53.53472-21.46304-83.43552-46.12096-101.1712-26.54208-19.08736-59.43296-25.8048-80.85504-25.8048h-81.92a36.864 36.864 0 0 1-36.864-36.864z m-286.72 163.84a36.864 36.864 0 0 1 36.864-36.864h327.68a36.864 36.864 0 1 1 0 73.728H348.16a36.864 36.864 0 0 1-36.864-36.864z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/span&gt;。&lt;/div&gt;&lt;h3 style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-stretch: inherit; font-size: var(--markdown-B1_Content_Emphasized-font-size); line-height: var(--markdown-B1_Content_Emphasized-line-height); font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap: wrap; background-color: rgb(255, 255, 255);&quot;&gt;（二）添加 Maven 依赖&lt;/h3&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-stretch: inherit; font-size: var(--markdown-B1_Content-font-size); line-height: var(--markdown-B1_Content-line-height); font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;为了方便地发送 HTTP 请求和解析 JSON 数据，需要在项目中添加以下 Maven 依赖&lt;span data-v-d55fe56f=&quot;&quot; class=&quot;rag-tag&quot; data-index=&quot;2&quot; data-site-name=&quot;&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 5px 8px; border: 0px; vertical-align: baseline; box-sizing: border-box; position: relative; top: 1px; cursor: pointer; user-select: none; max-width: 100px; min-width: 18px; height: 24px; display: inline-flex; align-items: center; justify-content: center; border-radius: 24px; color: var(--Labels-Secondary); background-color: var(--Fills-F2);&quot;&gt;&lt;svg data-v-d55fe56f=&quot;&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; aria-hidden=&quot;true&quot; role=&quot;img&quot; name=&quot;Link&quot; class=&quot;rag-icon iconify&quot; width=&quot;1em&quot; height=&quot;1em&quot; viewbox=&quot;0 0 1024 1024&quot;&gt;&lt;path d=&quot;M183.25504 363.3152C225.03424 333.25056 274.0224 323.584 307.2 323.584h81.92a36.864 36.864 0 1 1 0 73.728H307.2c-21.38112 0-54.31296 6.71744-80.85504 25.8048-24.65792 17.77664-46.12096 47.63648-46.12096 101.1712 0 53.53472 21.46304 83.39456 46.12096 101.1712 26.54208 19.08736 59.47392 25.8048 80.85504 25.8048h81.92a36.864 36.864 0 1 1 0 73.728H307.2c-33.1776 0-82.20672-9.66656-123.94496-39.7312C139.6736 653.84448 106.496 601.82528 106.496 524.288c0-77.53728 33.1776-129.59744 76.75904-160.9728zM598.016 360.448a36.864 36.864 0 0 1 36.864-36.864h81.92c33.1776 0 82.16576 9.66656 123.94496 39.7312 43.6224 31.37536 76.75904 83.43552 76.75904 160.9728 0 77.53728-33.1776 129.55648-76.75904 160.9728-41.7792 30.06464-90.7264 39.7312-123.94496 39.7312h-81.92a36.864 36.864 0 0 1 0-73.728h81.92c21.42208 0 54.31296-6.71744 80.85504-25.8048 24.65792-17.77664 46.12096-47.63648 46.12096-101.1712 0-53.53472-21.46304-83.43552-46.12096-101.1712-26.54208-19.08736-59.43296-25.8048-80.85504-25.8048h-81.92a36.864 36.864 0 0 1-36.864-36.864z m-286.72 163.84a36.864 36.864 0 0 1 36.864-36.864h327.68a36.864 36.864 0 1 1 0 73.728H348.16a36.864 36.864 0 0 1-36.864-36.864z&quot; fill=&quot;currentColor&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/span&gt;：&lt;/div&gt;&lt;pre class=&quot;prism-highlight prism-language-sql&quot;&gt;&amp;lt;dependencies&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;dependency&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;groupId&amp;gt;org.apache.httpcomponents&amp;lt;/groupId&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;artifactId&amp;gt;httpclient&amp;lt;/artifactId&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;version&amp;gt;4.5.13&amp;lt;/version&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/dependency&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;dependency&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;groupId&amp;gt;com.fasterxml.jackson.core&amp;lt;/groupId&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;artifactId&amp;gt;jackson-databind&amp;lt;/artifactId&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;version&amp;gt;2.10.0&amp;lt;/version&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/dependency&amp;gt;&amp;lt;/dependencies&amp;gt;&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;h2 style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-stretch: inherit; font-size: var(--markdown-H2_Content-font-size); line-height: var(--markdown-H2_Content-line-height); font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap: wrap; background-color: rgb(255, 255, 255);&quot;&gt;二、代码实现&lt;/h2&gt;&lt;h3 style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-stretch: inherit; font-size: var(--markdown-B1_Content_Emphasized-font-size); line-height: var(--markdown-B1_Content_Emphasized-line-height); font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap: wrap; background-color: rgb(255, 255, 255);&quot;&gt;（一）构建请求参数并生成签名&lt;/h3&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-stretch: inherit; font-size: var(--markdown-B1_Content-font-size); line-height: var(--markdown-B1_Content-line-height); font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;淘宝 API 接口需要对请求参数进行签名验证。以下是一个生成签名的 Java 方法示例&lt;p&gt;&lt;span style=&quot;color: var(--Labels-Primary); font-family: inherit; font-style: inherit; font-variant-ligatures: inherit; font-variant-caps: inherit; font-weight: 600; font-size: inherit; letter-spacing: 0.5px;&quot;&gt;&lt;br/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: var(--Labels-Primary); font-family: inherit; font-style: inherit; font-variant-ligatures: inherit; font-variant-caps: inherit; font-weight: 600; font-size: inherit; letter-spacing: 0.5px;&quot;&gt;java&lt;/span&gt;&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-java&quot;&gt;import&amp;nbsp;java.util.TreeMap;public&amp;nbsp;class&amp;nbsp;ApiUtil&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;static&amp;nbsp;String&amp;nbsp;generateSign(TreeMap&amp;lt;String,&amp;nbsp;String&amp;gt;&amp;nbsp;params,&amp;nbsp;String&amp;nbsp;appSecret)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;StringBuilder&amp;nbsp;sb&amp;nbsp;=&amp;nbsp;new&amp;nbsp;StringBuilder();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for&amp;nbsp;(Map.Entry&amp;lt;String,&amp;nbsp;String&amp;gt;&amp;nbsp;entry&amp;nbsp;:&amp;nbsp;params.entrySet())&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sb.append(entry.getKey()).append(entry.getValue());
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sb.append(appSecret);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;md5(sb.toString()).toUpperCase();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;static&amp;nbsp;String&amp;nbsp;md5(String&amp;nbsp;str)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;try&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;java.security.MessageDigest&amp;nbsp;md&amp;nbsp;=&amp;nbsp;java.security.MessageDigest.getInstance(&amp;quot;MD5&amp;quot;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;byte[]&amp;nbsp;array&amp;nbsp;=&amp;nbsp;md.digest(str.getBytes());
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;StringBuilder&amp;nbsp;sb&amp;nbsp;=&amp;nbsp;new&amp;nbsp;StringBuilder();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for&amp;nbsp;(byte&amp;nbsp;b&amp;nbsp;:&amp;nbsp;array)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sb.append(String.format(&amp;quot;%02x&amp;quot;,&amp;nbsp;b));
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;sb.toString();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;catch&amp;nbsp;(Exception&amp;nbsp;e)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;throw&amp;nbsp;new&amp;nbsp;RuntimeException(e);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}}&lt;/pre&gt;&lt;p&gt;&lt;span style=&quot;color: var(--Labels-Primary); font-family: inherit; font-style: inherit; font-variant-ligatures: inherit; font-variant-caps: inherit; font-weight: 600; font-size: inherit; letter-spacing: 0.5px;&quot;&gt;&lt;/span&gt;&lt;br/&gt;&lt;/p&gt;&lt;/div&gt;&lt;h3 style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-stretch: inherit; font-size: var(--markdown-B1_Content_Emphasized-font-size); line-height: var(--markdown-B1_Content_Emphasized-line-height); font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap: wrap; background-color: rgb(255, 255, 255);&quot;&gt;（二）上传图片并获取图片标识&lt;/h3&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-stretch: inherit; font-size: var(--markdown-B1_Content-font-size); line-height: var(--markdown-B1_Content-line-height); font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;使用 Apache HttpClient 发送 HTTP 请求到淘宝的图片上传接口&lt;p&gt;&lt;span style=&quot;color: var(--Labels-Primary); font-family: inherit; font-style: inherit; font-variant-ligatures: inherit; font-variant-caps: inherit; font-weight: 600; font-size: inherit; letter-spacing: 0.5px;&quot;&gt;&lt;br/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: var(--Labels-Primary); font-family: inherit; font-style: inherit; font-variant-ligatures: inherit; font-variant-caps: inherit; font-weight: 600; font-size: inherit; letter-spacing: 0.5px;&quot;&gt;java&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;pre class=&quot;prism-highlight prism-language-java&quot;&gt;import&amp;nbsp;org.apache.http.HttpEntity;import&amp;nbsp;org.apache.http.client.methods.CloseableHttpResponse;import&amp;nbsp;org.apache.http.client.methods.HttpPost;import&amp;nbsp;org.apache.http.entity.ContentType;import&amp;nbsp;org.apache.http.entity.mime.MultipartEntityBuilder;import&amp;nbsp;org.apache.http.impl.client.CloseableHttpClient;import&amp;nbsp;org.apache.http.impl.client.HttpClients;import&amp;nbsp;org.apache.http.util.EntityUtils;import&amp;nbsp;java.io.File;import&amp;nbsp;java.io.IOException;import&amp;nbsp;java.util.HashMap;import&amp;nbsp;java.util.Map;public&amp;nbsp;class&amp;nbsp;ImageUploader&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;static&amp;nbsp;final&amp;nbsp;String&amp;nbsp;UPLOAD_URL&amp;nbsp;=&amp;nbsp;&amp;quot;https://restapi.taobao.com/router/rest&amp;quot;;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;static&amp;nbsp;String&amp;nbsp;uploadImage(String&amp;nbsp;appKey,&amp;nbsp;String&amp;nbsp;appSecret,&amp;nbsp;String&amp;nbsp;imagePath)&amp;nbsp;throws&amp;nbsp;IOException&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;File&amp;nbsp;imageFile&amp;nbsp;=&amp;nbsp;new&amp;nbsp;File(imagePath);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(!imageFile.exists())&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;throw&amp;nbsp;new&amp;nbsp;IllegalArgumentException(&amp;quot;Image&amp;nbsp;file&amp;nbsp;does&amp;nbsp;not&amp;nbsp;exist&amp;quot;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Map&amp;lt;String,&amp;nbsp;String&amp;gt;&amp;nbsp;params&amp;nbsp;=&amp;nbsp;new&amp;nbsp;HashMap&amp;lt;&amp;gt;();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;params.put(&amp;quot;app_key&amp;quot;,&amp;nbsp;appKey);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;params.put(&amp;quot;method&amp;quot;,&amp;nbsp;&amp;quot;taobao.upload.img&amp;quot;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;params.put(&amp;quot;format&amp;quot;,&amp;nbsp;&amp;quot;json&amp;quot;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;params.put(&amp;quot;v&amp;quot;,&amp;nbsp;&amp;quot;2.0&amp;quot;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;params.put(&amp;quot;sign_method&amp;quot;,&amp;nbsp;&amp;quot;md5&amp;quot;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;params.put(&amp;quot;timestamp&amp;quot;,&amp;nbsp;String.valueOf(System.currentTimeMillis()&amp;nbsp;/&amp;nbsp;1000));

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;String&amp;nbsp;sign&amp;nbsp;=&amp;nbsp;ApiUtil.generateSign(new&amp;nbsp;TreeMap&amp;lt;&amp;gt;(params),&amp;nbsp;appSecret);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;params.put(&amp;quot;sign&amp;quot;,&amp;nbsp;sign);

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;try&amp;nbsp;(CloseableHttpClient&amp;nbsp;httpClient&amp;nbsp;=&amp;nbsp;HttpClients.createDefault())&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;HttpPost&amp;nbsp;httpPost&amp;nbsp;=&amp;nbsp;new&amp;nbsp;HttpPost(UPLOAD_URL);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MultipartEntityBuilder&amp;nbsp;builder&amp;nbsp;=&amp;nbsp;MultipartEntityBuilder.create();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for&amp;nbsp;(Map.Entry&amp;lt;String,&amp;nbsp;String&amp;gt;&amp;nbsp;entry&amp;nbsp;:&amp;nbsp;params.entrySet())&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;builder.addTextBody(entry.getKey(),&amp;nbsp;entry.getValue(),&amp;nbsp;ContentType.TEXT_PLAIN);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;builder.addBinaryBody(&amp;quot;file&amp;quot;,&amp;nbsp;imageFile,&amp;nbsp;ContentType.APPLICATION_OCTET_STREAM,&amp;nbsp;imageFile.getName());
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;HttpEntity&amp;nbsp;entity&amp;nbsp;=&amp;nbsp;builder.build();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;httpPost.setEntity(entity);

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;try&amp;nbsp;(CloseableHttpResponse&amp;nbsp;response&amp;nbsp;=&amp;nbsp;httpClient.execute(httpPost))&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(response.getStatusLine().getStatusCode()&amp;nbsp;==&amp;nbsp;200)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;String&amp;nbsp;jsonResponse&amp;nbsp;=&amp;nbsp;EntityUtils.toString(response.getEntity());
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;解析返回的&amp;nbsp;JSON&amp;nbsp;数据，获取图片&amp;nbsp;URL
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;这里假设返回的&amp;nbsp;JSON&amp;nbsp;中包含字段&amp;nbsp;&amp;quot;pic_url&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;parsePicUrlFromResponse(jsonResponse);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;else&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;throw&amp;nbsp;new&amp;nbsp;RuntimeException(&amp;quot;Failed&amp;nbsp;to&amp;nbsp;upload&amp;nbsp;image,&amp;nbsp;status&amp;nbsp;code:&amp;nbsp;&amp;quot;&amp;nbsp;+&amp;nbsp;response.getStatusLine().getStatusCode());
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;static&amp;nbsp;String&amp;nbsp;parsePicUrlFromResponse(String&amp;nbsp;jsonResponse)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;解析&amp;nbsp;JSON&amp;nbsp;数据，提取图片&amp;nbsp;URL
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;这里假设返回的&amp;nbsp;JSON&amp;nbsp;中包含字段&amp;nbsp;&amp;quot;pic_url&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;实际开发中，根据&amp;nbsp;API&amp;nbsp;返回的&amp;nbsp;JSON&amp;nbsp;结构进行解析
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;jsonResponse;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}}&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;h3 style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-stretch: inherit; font-size: var(--markdown-B1_Content_Emphasized-font-size); line-height: var(--markdown-B1_Content_Emphasized-line-height); font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap: wrap; background-color: rgb(255, 255, 255);&quot;&gt;（三）调用按图搜索接口&lt;/h3&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-stretch: inherit; font-size: var(--markdown-B1_Content-font-size); line-height: var(--markdown-B1_Content-line-height); font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;在成功上传图片并获取图片标识后，接下来就可以调用淘宝的按图搜索接口&lt;p&gt;&lt;span style=&quot;color: var(--Labels-Primary); font-family: inherit; font-style: inherit; font-variant-ligatures: inherit; font-variant-caps: inherit; font-weight: 600; font-size: inherit; letter-spacing: 0.5px;&quot;&gt;&lt;br/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: var(--Labels-Primary); font-family: inherit; font-style: inherit; font-variant-ligatures: inherit; font-variant-caps: inherit; font-weight: 600; font-size: inherit; letter-spacing: 0.5px;&quot;&gt;java&lt;/span&gt;&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-java&quot;&gt;import&amp;nbsp;org.apache.http.client.methods.CloseableHttpResponse;import&amp;nbsp;org.apache.http.client.methods.HttpGet;import&amp;nbsp;org.apache.http.impl.client.CloseableHttpClient;import&amp;nbsp;org.apache.http.impl.client.HttpClients;import&amp;nbsp;org.apache.http.util.EntityUtils;import&amp;nbsp;java.io.IOException;import&amp;nbsp;java.util.TreeMap;public&amp;nbsp;class&amp;nbsp;TaobaoImageSearch&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;static&amp;nbsp;final&amp;nbsp;String&amp;nbsp;SEARCH_URL&amp;nbsp;=&amp;nbsp;&amp;quot;https://eco.taobao.com/router/rest&amp;quot;;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;static&amp;nbsp;String&amp;nbsp;searchItemsByImage(String&amp;nbsp;appKey,&amp;nbsp;String&amp;nbsp;appSecret,&amp;nbsp;String&amp;nbsp;imageUrl)&amp;nbsp;throws&amp;nbsp;IOException&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;TreeMap&amp;lt;String,&amp;nbsp;String&amp;gt;&amp;nbsp;params&amp;nbsp;=&amp;nbsp;new&amp;nbsp;TreeMap&amp;lt;&amp;gt;();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;params.put(&amp;quot;app_key&amp;quot;,&amp;nbsp;appKey);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;params.put(&amp;quot;method&amp;quot;,&amp;nbsp;&amp;quot;taobao.item.search.img&amp;quot;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;params.put(&amp;quot;format&amp;quot;,&amp;nbsp;&amp;quot;json&amp;quot;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;params.put(&amp;quot;v&amp;quot;,&amp;nbsp;&amp;quot;2.0&amp;quot;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;params.put(&amp;quot;sign_method&amp;quot;,&amp;nbsp;&amp;quot;md5&amp;quot;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;params.put(&amp;quot;timestamp&amp;quot;,&amp;nbsp;String.valueOf(System.currentTimeMillis()&amp;nbsp;/&amp;nbsp;1000));
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;params.put(&amp;quot;img_url&amp;quot;,&amp;nbsp;imageUrl);

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;String&amp;nbsp;sign&amp;nbsp;=&amp;nbsp;ApiUtil.generateSign(params,&amp;nbsp;appSecret);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;params.put(&amp;quot;sign&amp;quot;,&amp;nbsp;sign);

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;StringBuilder&amp;nbsp;urlBuilder&amp;nbsp;=&amp;nbsp;new&amp;nbsp;StringBuilder(SEARCH_URL);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for&amp;nbsp;(Map.Entry&amp;lt;String,&amp;nbsp;String&amp;gt;&amp;nbsp;entry&amp;nbsp;:&amp;nbsp;params.entrySet())&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(urlBuilder.length()&amp;nbsp;&amp;gt;&amp;nbsp;SEARCH_URL.length())&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;urlBuilder.append(&amp;quot;&amp;amp;&amp;quot;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;urlBuilder.append(entry.getKey()).append(&amp;quot;=&amp;quot;).append(entry.getValue());
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;try&amp;nbsp;(CloseableHttpClient&amp;nbsp;httpClient&amp;nbsp;=&amp;nbsp;HttpClients.createDefault())&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;HttpGet&amp;nbsp;httpGet&amp;nbsp;=&amp;nbsp;new&amp;nbsp;HttpGet(urlBuilder.toString());
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;try&amp;nbsp;(CloseableHttpResponse&amp;nbsp;response&amp;nbsp;=&amp;nbsp;httpClient.execute(httpGet))&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(response.getStatusLine().getStatusCode()&amp;nbsp;==&amp;nbsp;200)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;EntityUtils.toString(response.getEntity());
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;else&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;throw&amp;nbsp;new&amp;nbsp;RuntimeException(&amp;quot;Failed&amp;nbsp;to&amp;nbsp;search&amp;nbsp;items,&amp;nbsp;status&amp;nbsp;code:&amp;nbsp;&amp;quot;&amp;nbsp;+&amp;nbsp;response.getStatusLine().getStatusCode());
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}}&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;/div&gt;&lt;h3 style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-stretch: inherit; font-size: var(--markdown-B1_Content_Emphasized-font-size); line-height: var(--markdown-B1_Content_Emphasized-line-height); font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap: wrap; background-color: rgb(255, 255, 255);&quot;&gt;（四）解析响应数据&lt;/h3&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-stretch: inherit; font-size: var(--markdown-B1_Content-font-size); line-height: var(--markdown-B1_Content-line-height); font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;从响应中提取你需要的商品信息，如商品标题、价格、图片链接等。可以使用 Jackson 库解析返回的 JSON 数据&lt;p&gt;&lt;span style=&quot;color: var(--Labels-Primary); font-family: inherit; font-style: inherit; font-variant-ligatures: inherit; font-variant-caps: inherit; font-weight: 600; font-size: inherit; letter-spacing: 0.5px;&quot;&gt;&lt;br/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: var(--Labels-Primary); font-family: inherit; font-style: inherit; font-variant-ligatures: inherit; font-variant-caps: inherit; font-weight: 600; font-size: inherit; letter-spacing: 0.5px;&quot;&gt;java&lt;/span&gt;&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-java&quot;&gt;import&amp;nbsp;com.fasterxml.jackson.databind.JsonNode;import&amp;nbsp;com.fasterxml.jackson.databind.ObjectMapper;import&amp;nbsp;java.io.IOException;public&amp;nbsp;class&amp;nbsp;ResponseParser&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;static&amp;nbsp;void&amp;nbsp;parseResponse(String&amp;nbsp;jsonResponse)&amp;nbsp;throws&amp;nbsp;IOException&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ObjectMapper&amp;nbsp;objectMapper&amp;nbsp;=&amp;nbsp;new&amp;nbsp;ObjectMapper();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;JsonNode&amp;nbsp;rootNode&amp;nbsp;=&amp;nbsp;objectMapper.readTree(jsonResponse);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;JsonNode&amp;nbsp;itemsNode&amp;nbsp;=&amp;nbsp;rootNode.path(&amp;quot;items&amp;quot;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(itemsNode.isArray())&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for&amp;nbsp;(JsonNode&amp;nbsp;itemNode&amp;nbsp;:&amp;nbsp;itemsNode)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;String&amp;nbsp;title&amp;nbsp;=&amp;nbsp;itemNode.path(&amp;quot;title&amp;quot;).asText();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;String&amp;nbsp;price&amp;nbsp;=&amp;nbsp;itemNode.path(&amp;quot;price&amp;quot;).asText();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;String&amp;nbsp;picUrl&amp;nbsp;=&amp;nbsp;itemNode.path(&amp;quot;pic_url&amp;quot;).asText();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;String&amp;nbsp;detailUrl&amp;nbsp;=&amp;nbsp;itemNode.path(&amp;quot;detail_url&amp;quot;).asText();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.println(&amp;quot;商品标题:&amp;nbsp;&amp;quot;&amp;nbsp;+&amp;nbsp;title);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.println(&amp;quot;商品价格:&amp;nbsp;&amp;quot;&amp;nbsp;+&amp;nbsp;price);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.println(&amp;quot;商品图片:&amp;nbsp;&amp;quot;&amp;nbsp;+&amp;nbsp;picUrl);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.println(&amp;quot;商品链接:&amp;nbsp;&amp;quot;&amp;nbsp;+&amp;nbsp;detailUrl);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.println(&amp;quot;----------&amp;quot;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;else&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.println(&amp;quot;No&amp;nbsp;items&amp;nbsp;found&amp;quot;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}}&lt;/pre&gt;&lt;p&gt;&lt;span style=&quot;color: var(--Labels-Primary); font-family: inherit; font-style: inherit; font-variant-ligatures: inherit; font-variant-caps: inherit; font-weight: 600; font-size: inherit; letter-spacing: 0.5px;&quot;&gt;&lt;/span&gt;&lt;br/&gt;&lt;/p&gt;&lt;/div&gt;&lt;h2 style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-stretch: inherit; font-size: var(--markdown-H2_Content-font-size); line-height: var(--markdown-H2_Content-line-height); font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap: wrap; background-color: rgb(255, 255, 255);&quot;&gt;三、完整流程示例&lt;/h2&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-stretch: inherit; font-size: var(--markdown-B1_Content-font-size); line-height: var(--markdown-B1_Content-line-height); font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;以下是一个完整的 Java 示例，展示了如何上传图片并调用淘宝按图搜索接口&lt;p&gt;&lt;span style=&quot;color: var(--Labels-Primary); font-family: inherit; font-style: inherit; font-variant-ligatures: inherit; font-variant-caps: inherit; font-weight: 600; font-size: inherit; letter-spacing: 0.5px;&quot;&gt;&lt;br/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: var(--Labels-Primary); font-family: inherit; font-style: inherit; font-variant-ligatures: inherit; font-variant-caps: inherit; font-weight: 600; font-size: inherit; letter-spacing: 0.5px;&quot;&gt;java&lt;/span&gt;&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-java&quot;&gt;import&amp;nbsp;java.io.IOException;public&amp;nbsp;class&amp;nbsp;Main&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;static&amp;nbsp;void&amp;nbsp;main(String[]&amp;nbsp;args)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;String&amp;nbsp;appKey&amp;nbsp;=&amp;nbsp;&amp;quot;your_app_key&amp;quot;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;String&amp;nbsp;appSecret&amp;nbsp;=&amp;nbsp;&amp;quot;your_app_secret&amp;quot;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;String&amp;nbsp;imagePath&amp;nbsp;=&amp;nbsp;&amp;quot;path/to/your/image.jpg&amp;quot;;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;try&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;上传图片并获取图片&amp;nbsp;URL
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;String&amp;nbsp;imageUrl&amp;nbsp;=&amp;nbsp;ImageUploader.uploadImage(appKey,&amp;nbsp;appSecret,&amp;nbsp;imagePath);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.println(&amp;quot;图片上传成功，图片&amp;nbsp;URL:&amp;nbsp;&amp;quot;&amp;nbsp;+&amp;nbsp;imageUrl);

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;调用按图搜索接口
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;String&amp;nbsp;jsonResponse&amp;nbsp;=&amp;nbsp;TaobaoImageSearch.searchItemsByImage(appKey,&amp;nbsp;appSecret,&amp;nbsp;imageUrl);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.println(&amp;quot;搜索结果:&amp;nbsp;&amp;quot;&amp;nbsp;+&amp;nbsp;jsonResponse);

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;解析响应数据
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ResponseParser.parseResponse(jsonResponse);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;catch&amp;nbsp;(IOException&amp;nbsp;e)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;e.printStackTrace();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}}&lt;/pre&gt;&lt;p&gt;&lt;span style=&quot;color: var(--Labels-Primary); font-family: inherit; font-style: inherit; font-variant-ligatures: inherit; font-variant-caps: inherit; font-weight: 600; font-size: inherit; letter-spacing: 0.5px;&quot;&gt;&lt;/span&gt;&lt;br/&gt;&lt;/p&gt;&lt;/div&gt;&lt;h2 class=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-stretch: inherit; font-size: var(--markdown-H2_Content-font-size); line-height: var(--markdown-H2_Content-line-height); font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap: wrap; background-color: rgb(255, 255, 255);&quot;&gt;四、注意事项&lt;/h2&gt;&lt;ol start=&quot;1&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin-bottom: 16px; padding: 0px 0px 0px 24px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; list-style-position: initial; list-style-image: initial; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; text-wrap: wrap; background-color: rgb(255, 255, 255);&quot; class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: var(--markdown-B1_Content-font-size); line-height: var(--markdown-B1_Content-line-height); font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;遵守使用协议&lt;/span&gt;：使用淘宝开放平台的 API 时，必须严格遵守其使用协议和相关法律法规。&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: var(--markdown-B1_Content-font-size); line-height: var(--markdown-B1_Content-line-height); font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;签名生成&lt;/span&gt;：签名生成过程中，参数的拼接顺序必须严格按照字典序。&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: var(--markdown-B1_Content-font-size); line-height: var(--markdown-B1_Content-line-height); font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;时间戳校验&lt;/span&gt;：请求时间戳与服务器时间误差不能超过 5 分钟。&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: var(--markdown-B1_Content-font-size); line-height: var(--markdown-B1_Content-line-height); font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;异常处理&lt;/span&gt;：建议添加重试机制，避免因网络问题导致请求失败。&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: var(--markdown-B1_Content-font-size); line-height: var(--markdown-B1_Content-line-height); font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;span style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; font-size: inherit; line-height: inherit; font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline;&quot;&gt;图片要求&lt;/span&gt;：图片格式支持 JPG/PNG，大小不超过 2MB，建议主体商品占比超过 60%。&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;h2 style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-stretch: inherit; font-size: var(--markdown-H2_Content-font-size); line-height: var(--markdown-H2_Content-line-height); font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap: wrap; background-color: rgb(255, 255, 255);&quot;&gt;五、总结&lt;/h2&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-stretch: inherit; font-size: var(--markdown-B1_Content-font-size); line-height: var(--markdown-B1_Content-line-height); font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;通过以上步骤，你可以成功利用 Java 爬虫实现淘宝按图搜索商品功能。这不仅为开发者提供了强大的功能支持，也为用户带来了更加便捷和直观的购物体验。希望本文对你有所帮助，祝你在电商领域取得更大的成功！&lt;/div&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;</description><pubDate>Sat, 16 Aug 2025 15:31:32 +0800</pubDate></item><item><title>《淘宝店铺详情爬取实战指南：代码示例与解析》</title><link>https://obapi.cn/?id=5</link><description>&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-stretch: inherit; font-size: var(--markdown-B1_Content-font-size); line-height: var(--markdown-B1_Content-line-height); font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;在电商领域，淘宝作为中国最大的在线零售平台之一，拥有海量的店铺和商品信息。这些信息对于市场分析、竞争对手研究、商品推荐等应用场景具有重要价值。本文将详细介绍如何通过合法合规的方式获取淘宝店铺的详情信息，并提供详细的代码示例。&lt;/div&gt;&lt;h2 class=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-stretch: inherit; font-size: var(--markdown-H2_Content-font-size); line-height: var(--markdown-H2_Content-line-height); font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap: wrap; background-color: rgb(255, 255, 255);&quot;&gt;一、准备工作&lt;/h2&gt;&lt;h3 class=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-stretch: inherit; font-size: var(--markdown-B1_Content_Emphasized-font-size); line-height: var(--markdown-B1_Content_Emphasized-line-height); font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap: wrap; background-color: rgb(255, 255, 255);&quot;&gt;（一）注册淘宝开放平台账号&lt;/h3&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-stretch: inherit; font-size: var(--markdown-B1_Content-font-size); line-height: var(--markdown-B1_Content-line-height); font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;在使用淘宝 API 之前，需要在淘宝开放平台注册账号并创建应用。注册完成后，平台会分配一个 &lt;code data-v-cad61513=&quot;&quot; data-v-2ee015cb=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; color: var(--Labels-Primary); background-color: var(--Fills-F1); border-radius: 4px; max-width: 100%; word-break: break-word; overflow: auto;&quot;&gt;App Key&lt;/code&gt; 和 &lt;code data-v-cad61513=&quot;&quot; data-v-2ee015cb=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; color: var(--Labels-Primary); background-color: var(--Fills-F1); border-radius: 4px; max-width: 100%; word-break: break-word; overflow: auto;&quot;&gt;App Secret&lt;/code&gt;，这两个参数是调用 API 时的身份验证凭证。&lt;/div&gt;&lt;h3 style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-stretch: inherit; font-size: var(--markdown-B1_Content_Emphasized-font-size); line-height: var(--markdown-B1_Content_Emphasized-line-height); font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap: wrap; background-color: rgb(255, 255, 255);&quot;&gt;（二）安装 PHP 依赖&lt;/h3&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-stretch: inherit; font-size: var(--markdown-B1_Content-font-size); line-height: var(--markdown-B1_Content-line-height); font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;确保你的 PHP 项目中包含了必要的依赖库，如 &lt;code data-v-cad61513=&quot;&quot; data-v-2ee015cb=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; color: var(--Labels-Primary); background-color: var(--Fills-F1); border-radius: 4px; max-width: 100%; word-break: break-word; overflow: auto;&quot;&gt;GuzzleHttp&lt;/code&gt;，用于发送 HTTP 请求。如果使用 Composer，可以在 &lt;code data-v-cad61513=&quot;&quot; data-v-2ee015cb=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; color: var(--Labels-Primary); background-color: var(--Fills-F1); border-radius: 4px; max-width: 100%; word-break: break-word; overflow: auto;&quot;&gt;composer.json&lt;/code&gt; 文件中添加以下依赖：&lt;/div&gt;&lt;div data-v-cad61513=&quot;&quot; data-v-2ee015cb=&quot;&quot; class=&quot;segment-code markdown-code&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; position: relative; border-bottom-left-radius: 8px; border-bottom-right-radius: 8px; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; text-wrap: wrap; background-color: rgb(255, 255, 255);&quot;&gt;&lt;header data-v-cad61513=&quot;&quot; class=&quot;segment-code-header&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; z-index: 1; background-color: var(--Bg-Primary); position: sticky; left: 0px; top: 50px;&quot;&gt;&lt;div data-v-cad61513=&quot;&quot; class=&quot;segment-code-header-content&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 8px 16px; border: .5px solid var(--Separators-S1); vertical-align: baseline; background: var(--Bg-Secondary); border-top-left-radius: 8px; border-top-right-radius: 8px; box-sizing: border-box; display: flex; align-items: center; justify-content: flex-start; gap: 4px;&quot;&gt;&lt;span data-v-cad61513=&quot;&quot; class=&quot;segment-code-lang&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: 600; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; color: var(--Labels-Primary); flex: 1 1 0%;&quot;&gt;JSON&lt;/span&gt;&lt;/div&gt;&lt;/header&gt;&lt;pre class=&quot;prism-highlight prism-language-java&quot;&gt;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;require&amp;quot;:&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;guzzlehttp/guzzle&amp;quot;:&amp;nbsp;&amp;quot;^7.0&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}}&lt;/pre&gt;&lt;/div&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-stretch: inherit; font-size: var(--markdown-B1_Content-font-size); line-height: var(--markdown-B1_Content-line-height); font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;然后运行 &lt;code data-v-cad61513=&quot;&quot; data-v-2ee015cb=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; color: var(--Labels-Primary); background-color: var(--Fills-F1); border-radius: 4px; max-width: 100%; word-break: break-word; overflow: auto;&quot;&gt;composer install&lt;/code&gt; 来安装依赖。&lt;/div&gt;&lt;h2 class=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-stretch: inherit; font-size: var(--markdown-H2_Content-font-size); line-height: var(--markdown-H2_Content-line-height); font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap: wrap; background-color: rgb(255, 255, 255);&quot;&gt;二、编写爬虫代码&lt;/h2&gt;&lt;h3 class=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-stretch: inherit; font-size: var(--markdown-B1_Content_Emphasized-font-size); line-height: var(--markdown-B1_Content_Emphasized-line-height); font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap: wrap; background-color: rgb(255, 255, 255);&quot;&gt;（一）发送 HTTP 请求并调用 API&lt;/h3&gt;&lt;p style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-stretch: inherit; font-size: var(--markdown-B1_Content-font-size); line-height: var(--markdown-B1_Content-line-height); font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;使用 &lt;code data-v-cad61513=&quot;&quot; data-v-2ee015cb=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; color: var(--Labels-Primary); background-color: var(--Fills-F1); border-radius: 4px; max-width: 100%; word-break: break-word; overflow: auto;&quot;&gt;GuzzleHttp&lt;/code&gt; 发送 GET 请求，调用淘宝的店铺详情接口。以下是完整的 PHP 代码示例：&lt;/p&gt;&lt;p style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-stretch: inherit; font-size: var(--markdown-B1_Content-font-size); line-height: var(--markdown-B1_Content-line-height); font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;&lt;span style=&quot;color: var(--Labels-Primary); font-family: inherit; font-style: inherit; font-variant-ligatures: inherit; font-variant-caps: inherit; font-weight: 600; font-size: inherit; letter-spacing: 0.5px;&quot;&gt;php&lt;/span&gt;&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-php&quot;&gt;&amp;lt;?phprequire&amp;nbsp;&amp;#39;vendor/autoload.php&amp;#39;;use&amp;nbsp;GuzzleHttp\Client;function&amp;nbsp;getTaobaoShopDetails($appKey,&amp;nbsp;$appSecret,&amp;nbsp;$shopId)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$client&amp;nbsp;=&amp;nbsp;new&amp;nbsp;Client();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$timestamp&amp;nbsp;=&amp;nbsp;date(&amp;#39;Y-m-d&amp;nbsp;H:i:s&amp;#39;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$params&amp;nbsp;=&amp;nbsp;[
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;#39;app_key&amp;#39;&amp;nbsp;=&amp;gt;&amp;nbsp;$appKey,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;#39;method&amp;#39;&amp;nbsp;=&amp;gt;&amp;nbsp;&amp;#39;taobao.shop.get&amp;#39;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;#39;shop_id&amp;#39;&amp;nbsp;=&amp;gt;&amp;nbsp;$shopId,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;#39;timestamp&amp;#39;&amp;nbsp;=&amp;gt;&amp;nbsp;$timestamp,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;#39;format&amp;#39;&amp;nbsp;=&amp;gt;&amp;nbsp;&amp;#39;json&amp;#39;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;#39;v&amp;#39;&amp;nbsp;=&amp;gt;&amp;nbsp;&amp;#39;2.0&amp;#39;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;#39;sign_method&amp;#39;&amp;nbsp;=&amp;gt;&amp;nbsp;&amp;#39;md5&amp;#39;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;#39;fields&amp;#39;&amp;nbsp;=&amp;gt;&amp;nbsp;&amp;#39;shop_name,shop_score,shop_sales&amp;#39;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;];
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$params[&amp;#39;sign&amp;#39;]&amp;nbsp;=&amp;nbsp;generateSign($params,&amp;nbsp;$appSecret);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$response&amp;nbsp;=&amp;nbsp;$client-&amp;gt;request(&amp;#39;GET&amp;#39;,&amp;nbsp;&amp;#39;https://eco.taobao.com/router/rest&amp;#39;,&amp;nbsp;[
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;#39;query&amp;#39;&amp;nbsp;=&amp;gt;&amp;nbsp;$params
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;]);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;json_decode($response-&amp;gt;getBody(),&amp;nbsp;true);}function&amp;nbsp;generateSign($params,&amp;nbsp;$appSecret)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ksort($params);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$queryStr&amp;nbsp;=&amp;nbsp;http_build_query($params);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$signStr&amp;nbsp;=&amp;nbsp;$appSecret&amp;nbsp;.&amp;nbsp;$queryStr&amp;nbsp;.&amp;nbsp;$appSecret;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;strtoupper(md5($signStr));}$appKey&amp;nbsp;=&amp;nbsp;&amp;#39;YOUR_APP_KEY&amp;#39;;$appSecret&amp;nbsp;=&amp;nbsp;&amp;#39;YOUR_APP_SECRET&amp;#39;;$shopId&amp;nbsp;=&amp;nbsp;&amp;#39;123456789&amp;#39;;$shopDetails&amp;nbsp;=&amp;nbsp;getTaobaoShopDetails($appKey,&amp;nbsp;$appSecret,&amp;nbsp;$shopId);if&amp;nbsp;($shopDetails)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;echo&amp;nbsp;&amp;quot;店铺名称:&amp;nbsp;&amp;quot;&amp;nbsp;.&amp;nbsp;$shopDetails[&amp;#39;shop&amp;#39;][&amp;#39;shop_name&amp;#39;]&amp;nbsp;.&amp;nbsp;&amp;quot;\n&amp;quot;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;echo&amp;nbsp;&amp;quot;店铺评分:&amp;nbsp;&amp;quot;&amp;nbsp;.&amp;nbsp;$shopDetails[&amp;#39;shop&amp;#39;][&amp;#39;shop_score&amp;#39;]&amp;nbsp;.&amp;nbsp;&amp;quot;\n&amp;quot;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;echo&amp;nbsp;&amp;quot;店铺销量:&amp;nbsp;&amp;quot;&amp;nbsp;.&amp;nbsp;$shopDetails[&amp;#39;shop&amp;#39;][&amp;#39;shop_sales&amp;#39;]&amp;nbsp;.&amp;nbsp;&amp;quot;\n&amp;quot;;}&amp;nbsp;else&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;echo&amp;nbsp;&amp;quot;请求失败，错误信息:&amp;nbsp;&amp;quot;&amp;nbsp;.&amp;nbsp;$shopDetails[&amp;#39;error_response&amp;#39;][&amp;#39;msg&amp;#39;]&amp;nbsp;.&amp;nbsp;&amp;quot;\n&amp;quot;;}?&amp;gt;&lt;/pre&gt;&lt;p style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-stretch: inherit; font-size: var(--markdown-B1_Content-font-size); line-height: var(--markdown-B1_Content-line-height); font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;&lt;span style=&quot;color: var(--Labels-Primary); font-family: inherit; font-style: inherit; font-variant-ligatures: inherit; font-variant-caps: inherit; font-weight: 600; font-size: inherit; letter-spacing: 0.5px;&quot;&gt;&lt;/span&gt;&lt;br/&gt;&lt;/p&gt;&lt;h3 class=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-stretch: inherit; font-size: var(--markdown-B1_Content_Emphasized-font-size); line-height: var(--markdown-B1_Content_Emphasized-line-height); font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap: wrap; background-color: rgb(255, 255, 255);&quot;&gt;（二）解析 HTML 内容&lt;/h3&gt;&lt;p style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-stretch: inherit; font-size: var(--markdown-B1_Content-font-size); line-height: var(--markdown-B1_Content-line-height); font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;如果需要直接爬取店铺页面的 HTML 内容，可以使用 PHP 的 &lt;code data-v-cad61513=&quot;&quot; data-v-2ee015cb=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; color: var(--Labels-Primary); background-color: var(--Fills-F1); border-radius: 4px; max-width: 100%; word-break: break-word; overflow: auto;&quot;&gt;cURL&lt;/code&gt; 库发送 HTTP 请求，并使用 &lt;code data-v-cad61513=&quot;&quot; data-v-2ee015cb=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; color: var(--Labels-Primary); background-color: var(--Fills-F1); border-radius: 4px; max-width: 100%; word-break: break-word; overflow: auto;&quot;&gt;DOMDocument&lt;/code&gt; 和 &lt;code data-v-cad61513=&quot;&quot; data-v-2ee015cb=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; color: var(--Labels-Primary); background-color: var(--Fills-F1); border-radius: 4px; max-width: 100%; word-break: break-word; overflow: auto;&quot;&gt;DOMXPath&lt;/code&gt; 解析 HTML 内容：&lt;/p&gt;&lt;p style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-stretch: inherit; font-size: var(--markdown-B1_Content-font-size); line-height: var(--markdown-B1_Content-line-height); font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;&lt;span style=&quot;color: var(--Labels-Primary); font-family: inherit; font-style: inherit; font-variant-ligatures: inherit; font-variant-caps: inherit; font-weight: 600; font-size: inherit; letter-spacing: 0.5px;&quot;&gt;php&lt;/span&gt;&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-php&quot;&gt;&amp;lt;?phpfunction&amp;nbsp;fetchPage($url)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$ch&amp;nbsp;=&amp;nbsp;curl_init();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;curl_setopt($ch,&amp;nbsp;CURLOPT_URL,&amp;nbsp;$url);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;curl_setopt($ch,&amp;nbsp;CURLOPT_RETURNTRANSFER,&amp;nbsp;1);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;curl_setopt($ch,&amp;nbsp;CURLOPT_FOLLOWLOCATION,&amp;nbsp;1);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$data&amp;nbsp;=&amp;nbsp;curl_exec($ch);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;curl_close($ch);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;$data;}function&amp;nbsp;parsePage($html)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$dom&amp;nbsp;=&amp;nbsp;new&amp;nbsp;DOMDocument();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@$dom-&amp;gt;loadHTML($html);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$xpath&amp;nbsp;=&amp;nbsp;new&amp;nbsp;DOMXPath($dom);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$shopInfo&amp;nbsp;=&amp;nbsp;$xpath-&amp;gt;query(&amp;quot;//div[@class=&amp;#39;shop-info&amp;#39;]&amp;quot;);&amp;nbsp;//&amp;nbsp;根据实际页面结构调整选择器
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$shopName&amp;nbsp;=&amp;nbsp;$shopInfo-&amp;gt;item(0)-&amp;gt;getElementsByTagName(&amp;quot;h1&amp;quot;)-&amp;gt;item(0)-&amp;gt;nodeValue;&amp;nbsp;//&amp;nbsp;店铺名称
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$score&amp;nbsp;=&amp;nbsp;$shopInfo-&amp;gt;item(0)-&amp;gt;getElementsByTagName(&amp;quot;span&amp;quot;)-&amp;gt;item(1)-&amp;gt;nodeValue;&amp;nbsp;//&amp;nbsp;店铺评分
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$sales&amp;nbsp;=&amp;nbsp;$shopInfo-&amp;gt;item(0)-&amp;gt;getElementsByTagName(&amp;quot;div&amp;quot;)-&amp;gt;item(2)-&amp;gt;nodeValue;&amp;nbsp;//&amp;nbsp;店铺销量
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;array(&amp;#39;shopName&amp;#39;&amp;nbsp;=&amp;gt;&amp;nbsp;$shopName,&amp;nbsp;&amp;#39;score&amp;#39;&amp;nbsp;=&amp;gt;&amp;nbsp;$score,&amp;nbsp;&amp;#39;sales&amp;#39;&amp;nbsp;=&amp;gt;&amp;nbsp;$sales);}$url&amp;nbsp;=&amp;nbsp;&amp;quot;淘宝店铺的URL&amp;quot;;&amp;nbsp;//&amp;nbsp;替换为实际的店铺&amp;nbsp;URL$html&amp;nbsp;=&amp;nbsp;fetchPage($url);if&amp;nbsp;($html)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$data&amp;nbsp;=&amp;nbsp;parsePage($html);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print_r($data);}?&amp;gt;&lt;/pre&gt;&lt;p style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-stretch: inherit; font-size: var(--markdown-B1_Content-font-size); line-height: var(--markdown-B1_Content-line-height); font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;&lt;span style=&quot;color: var(--Labels-Primary); font-family: inherit; font-style: inherit; font-variant-ligatures: inherit; font-variant-caps: inherit; font-weight: 600; font-size: inherit; letter-spacing: 0.5px;&quot;&gt;&lt;/span&gt;&lt;br/&gt;&lt;/p&gt;&lt;h3 class=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-stretch: inherit; font-size: var(--markdown-B1_Content_Emphasized-font-size); line-height: var(--markdown-B1_Content_Emphasized-line-height); font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap: wrap; background-color: rgb(255, 255, 255);&quot;&gt;（三）数据存储&lt;/h3&gt;&lt;p style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-stretch: inherit; font-size: var(--markdown-B1_Content-font-size); line-height: var(--markdown-B1_Content-line-height); font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;将提取的数据存储到本地文件或数据库中，以便进一步分析：&lt;/p&gt;&lt;p style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-stretch: inherit; font-size: var(--markdown-B1_Content-font-size); line-height: var(--markdown-B1_Content-line-height); font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;&lt;span style=&quot;color: var(--Labels-Primary); font-family: inherit; font-style: inherit; font-variant-ligatures: inherit; font-variant-caps: inherit; font-weight: 600; font-size: inherit; letter-spacing: 0.5px;&quot;&gt;php&lt;/span&gt;&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-php&quot;&gt;&amp;lt;?php
function&amp;nbsp;saveData($data,&amp;nbsp;$filePath)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;file_put_contents($filePath,&amp;nbsp;serialize($data));
}

$data&amp;nbsp;=&amp;nbsp;[&amp;#39;shopName&amp;#39;&amp;nbsp;=&amp;gt;&amp;nbsp;&amp;#39;Example&amp;nbsp;Shop&amp;#39;,&amp;nbsp;&amp;#39;score&amp;#39;&amp;nbsp;=&amp;gt;&amp;nbsp;&amp;#39;4.8&amp;#39;,&amp;nbsp;&amp;#39;sales&amp;#39;&amp;nbsp;=&amp;gt;&amp;nbsp;&amp;#39;1000&amp;#39;];
saveData($data,&amp;nbsp;&amp;quot;shop_details.txt&amp;quot;);
?&amp;gt;&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;h2 class=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-stretch: inherit; font-size: var(--markdown-H2_Content-font-size); line-height: var(--markdown-H2_Content-line-height); font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap: wrap; background-color: rgb(255, 255, 255);&quot;&gt;三、注意事项和建议&lt;/h2&gt;&lt;h3 style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-stretch: inherit; font-size: var(--markdown-B1_Content_Emphasized-font-size); line-height: var(--markdown-B1_Content_Emphasized-line-height); font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap: wrap; background-color: rgb(255, 255, 255);&quot;&gt;（一）遵守法律法规&lt;/h3&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-stretch: inherit; font-size: var(--markdown-B1_Content-font-size); line-height: var(--markdown-B1_Content-line-height); font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;在进行爬虫操作时，必须严格遵守相关法律法规，尊重网站的 &lt;code data-v-cad61513=&quot;&quot; data-v-2ee015cb=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; color: var(--Labels-Primary); background-color: var(--Fills-F1); border-radius: 4px; max-width: 100%; word-break: break-word; overflow: auto;&quot;&gt;robots.txt&lt;/code&gt; 文件规定。&lt;/div&gt;&lt;h3 class=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-stretch: inherit; font-size: var(--markdown-B1_Content_Emphasized-font-size); line-height: var(--markdown-B1_Content_Emphasized-line-height); font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap: wrap; background-color: rgb(255, 255, 255);&quot;&gt;（二）处理动态内容&lt;/h3&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-stretch: inherit; font-size: var(--markdown-B1_Content-font-size); line-height: var(--markdown-B1_Content-line-height); font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;如果目标页面涉及动态加载内容，可以使用 Selenium 模拟浏览器行为。&lt;/div&gt;&lt;h3 class=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-stretch: inherit; font-size: var(--markdown-B1_Content_Emphasized-font-size); line-height: var(--markdown-B1_Content_Emphasized-line-height); font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap: wrap; background-color: rgb(255, 255, 255);&quot;&gt;（三）避免被封禁&lt;/h3&gt;&lt;ul start=&quot;1&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: var(--Fills-F4) transparent; margin-bottom: 16px; padding: 0px 0px 0px 24px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-stretch: inherit; line-height: inherit; font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; list-style-position: initial; list-style-image: initial; color: rgba(0, 0, 0, 0.9); letter-spacing: 0.5px; text-wrap: wrap; background-color: rgb(255, 255, 255);&quot; class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: var(--Fills-F4) transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: var(--markdown-B1_Content-font-size); line-height: var(--markdown-B1_Content-line-height); font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word;&quot;&gt;使用代理服务分散请求来源。&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: var(--markdown-B1_Content-font-size); line-height: var(--markdown-B1_Content-line-height); font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word;&quot;&gt;控制请求频率，避免短时间内发送过多请求。&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: inherit; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: var(--markdown-B1_Content-font-size); line-height: var(--markdown-B1_Content-line-height); font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space-collapse: preserve; word-break: break-word;&quot;&gt;模拟真实用户行为，设置合理的请求间隔。&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h3 class=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-stretch: inherit; font-size: var(--markdown-B1_Content_Emphasized-font-size); line-height: var(--markdown-B1_Content_Emphasized-line-height); font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap: wrap; background-color: rgb(255, 255, 255);&quot;&gt;（四）数据安全&lt;/h3&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-stretch: inherit; font-size: var(--markdown-B1_Content-font-size); line-height: var(--markdown-B1_Content-line-height); font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;妥善保管爬取的数据，避免泄露敏感信息。&lt;/div&gt;&lt;h2 class=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-stretch: inherit; font-size: var(--markdown-H2_Content-font-size); line-height: var(--markdown-H2_Content-line-height); font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap: wrap; background-color: rgb(255, 255, 255);&quot;&gt;四、总结&lt;/h2&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-stretch: inherit; font-size: var(--markdown-B1_Content-font-size); line-height: var(--markdown-B1_Content-line-height); font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;通过上述步骤和代码示例，你可以轻松地利用 PHP 爬虫技术获取淘宝店铺的详细信息。希望本文能为你提供有价值的参考，帮助你更好地利用爬虫技术获取电商平台数据。在开发过程中，务必注意遵守平台规则，合理设置请求频率，并妥善处理异常情况，以确保爬虫的稳定运行。&lt;/div&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-stretch: inherit; font-size: var(--markdown-B1_Content-font-size); line-height: var(--markdown-B1_Content-line-height); font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;如果你有更多具体的问题或需要进一步的帮助，请随时告诉我。&lt;/div&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;</description><pubDate>Wed, 06 Aug 2025 17:42:41 +0800</pubDate></item><item><title>PHP 爬虫实战指南：获取 1688 商品详情</title><link>https://obapi.cn/?id=4</link><description>&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-stretch: inherit; font-size: var(--markdown-B1_Content-font-size); line-height: var(--markdown-B1_Content-line-height); font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;在电商领域，1688 作为国内领先的 B2B 电商平台，提供了丰富的商品资源。通过 PHP 爬虫技术，我们可以高效地获取 1688 商品的详细信息，包括商品名称、价格、图片、描述等。本文将详细介绍如何利用 PHP 爬虫按关键字搜索 1688 商品详情，并提供完整的代码示例&lt;span data-v-1b11b2a6=&quot;&quot; class=&quot;rag-tag text&quot; data-index=&quot;0&quot; data-site-name=&quot;稀土掘金&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 1px 8px; border: 0px; vertical-align: baseline; box-sizing: border-box; position: relative; top: -1px; cursor: pointer; user-select: none; max-width: 100px; min-width: 18px; height: 24px; display: inline-flex; align-items: center; justify-content: center; border-radius: 24px; color: var(--Labels-Secondary); background-color: var(--Fills-F2);&quot;&gt;&lt;/span&gt;。&lt;/div&gt;&lt;h2 class=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-stretch: inherit; font-size: var(--markdown-H2_Content-font-size); line-height: var(--markdown-H2_Content-line-height); font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap: wrap; background-color: rgb(255, 255, 255);&quot;&gt;一、准备工作&lt;/h2&gt;&lt;h3 class=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-stretch: inherit; font-size: var(--markdown-B1_Content_Emphasized-font-size); line-height: var(--markdown-B1_Content_Emphasized-line-height); font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap: wrap; background-color: rgb(255, 255, 255);&quot;&gt;（一）PHP 开发环境&lt;/h3&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-stretch: inherit; font-size: var(--markdown-B1_Content-font-size); line-height: var(--markdown-B1_Content-line-height); font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;确保你的服务器上安装了&lt;a href=&quot;https://o0b.cn/jason&quot; target=&quot;_self&quot;&gt; PHP&lt;/a&gt; 环境，并且启用了 &lt;code data-v-cad61513=&quot;&quot; data-v-2ee015cb=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; color: var(--Labels-Primary); background-color: var(--Fills-F1); border-radius: 4px; max-width: 100%; word-break: break-word; overflow: auto;&quot;&gt;cURL&lt;/code&gt; 扩展，用于发送 HTTP 请求&lt;span data-v-1b11b2a6=&quot;&quot; class=&quot;rag-tag text&quot; data-index=&quot;1&quot; data-site-name=&quot;稀土掘金&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 1px 8px; border: 0px; vertical-align: baseline; box-sizing: border-box; position: relative; top: -1px; cursor: pointer; user-select: none; max-width: 100px; min-width: 18px; height: 24px; display: inline-flex; align-items: center; justify-content: center; border-radius: 24px; color: var(--Labels-Secondary); background-color: var(--Fills-F2);&quot;&gt;&lt;/span&gt;。&lt;/div&gt;&lt;h3 class=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-stretch: inherit; font-size: var(--markdown-B1_Content_Emphasized-font-size); line-height: var(--markdown-B1_Content_Emphasized-line-height); font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap: wrap; background-color: rgb(255, 255, 255);&quot;&gt;（二）安装必要的库&lt;/h3&gt;&lt;p style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-stretch: inherit; font-size: var(--markdown-B1_Content-font-size); line-height: var(--markdown-B1_Content-line-height); font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;安装 &lt;code data-v-cad61513=&quot;&quot; data-v-2ee015cb=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; color: var(--Labels-Primary); background-color: var(--Fills-F1); border-radius: 4px; max-width: 100%; word-break: break-word; overflow: auto;&quot;&gt;GuzzleHttp&lt;/code&gt; 库，用于发送 HTTP 请求。可以通过 Composer 安装&lt;span data-v-1b11b2a6=&quot;&quot; class=&quot;rag-tag text&quot; data-index=&quot;2&quot; data-site-name=&quot;稀土掘金&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 1px 8px; border: 0px; vertical-align: baseline; box-sizing: border-box; position: relative; top: -1px; cursor: pointer; user-select: none; max-width: 100px; min-width: 18px; height: 24px; display: inline-flex; align-items: center; justify-content: center; border-radius: 24px; color: var(--Labels-Secondary); background-color: var(--Fills-F2);&quot;&gt;&lt;/span&gt;：&lt;/p&gt;&lt;p style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-stretch: inherit; font-size: var(--markdown-B1_Content-font-size); line-height: var(--markdown-B1_Content-line-height); font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;&lt;span style=&quot;color: var(--Labels-Primary); font-family: inherit; font-style: inherit; font-variant-ligatures: inherit; font-variant-caps: inherit; font-weight: 600; font-size: inherit; letter-spacing: 0.5px;&quot;&gt;bash&lt;/span&gt;&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-bash&quot;&gt;composer&amp;nbsp;require&amp;nbsp;guzzlehttp/guzzle&lt;/pre&gt;&lt;p style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-stretch: inherit; font-size: var(--markdown-B1_Content-font-size); line-height: var(--markdown-B1_Content-line-height); font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;&lt;span style=&quot;color: var(--Labels-Primary); font-family: inherit; font-style: inherit; font-variant-ligatures: inherit; font-variant-caps: inherit; font-weight: 600; font-size: inherit; letter-spacing: 0.5px;&quot;&gt;&lt;/span&gt;&lt;br/&gt;&lt;/p&gt;&lt;h2 class=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-stretch: inherit; font-size: var(--markdown-H2_Content-font-size); line-height: var(--markdown-H2_Content-line-height); font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap: wrap; background-color: rgb(255, 255, 255);&quot;&gt;二、编写爬虫代码&lt;/h2&gt;&lt;h3 class=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-stretch: inherit; font-size: var(--markdown-B1_Content_Emphasized-font-size); line-height: var(--markdown-B1_Content_Emphasized-line-height); font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap: wrap; background-color: rgb(255, 255, 255);&quot;&gt;（一）发送&lt;a href=&quot;https://o0b.cn/jason&quot; target=&quot;_self&quot;&gt; HTTP&lt;/a&gt; 请求&lt;/h3&gt;&lt;p style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-stretch: inherit; font-size: var(--markdown-B1_Content-font-size); line-height: var(--markdown-B1_Content-line-height); font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;使用 &lt;code data-v-cad61513=&quot;&quot; data-v-2ee015cb=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; color: var(--Labels-Primary); background-color: var(--Fills-F1); border-radius: 4px; max-width: 100%; word-break: break-word; overflow: auto;&quot;&gt;GuzzleHttp&lt;/code&gt; 库发送 GET 请求，获取商品页面的 HTML 内容&lt;span data-v-1b11b2a6=&quot;&quot; class=&quot;rag-tag text&quot; data-index=&quot;3&quot; data-site-name=&quot;稀土掘金&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 1px 8px; border: 0px; vertical-align: baseline; box-sizing: border-box; position: relative; top: -1px; cursor: pointer; user-select: none; max-width: 100px; min-width: 18px; height: 24px; display: inline-flex; align-items: center; justify-content: center; border-radius: 24px; color: var(--Labels-Secondary); background-color: var(--Fills-F2);&quot;&gt;&lt;/span&gt;：&lt;/p&gt;&lt;p style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-stretch: inherit; font-size: var(--markdown-B1_Content-font-size); line-height: var(--markdown-B1_Content-line-height); font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;&lt;span style=&quot;color: var(--Labels-Primary); font-family: inherit; font-style: inherit; font-variant-ligatures: inherit; font-variant-caps: inherit; font-weight: 600; font-size: inherit; letter-spacing: 0.5px;&quot;&gt;php&lt;/span&gt;&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-php&quot;&gt;&amp;lt;?phprequire&amp;nbsp;&amp;#39;vendor/autoload.php&amp;#39;;use&amp;nbsp;GuzzleHttp\Client;function&amp;nbsp;get_html($url)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$client&amp;nbsp;=&amp;nbsp;new&amp;nbsp;Client();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$response&amp;nbsp;=&amp;nbsp;$client-&amp;gt;request(&amp;#39;GET&amp;#39;,&amp;nbsp;$url,&amp;nbsp;[
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;#39;headers&amp;#39;&amp;nbsp;=&amp;gt;&amp;nbsp;[
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;#39;User-Agent&amp;#39;&amp;nbsp;=&amp;gt;&amp;nbsp;&amp;#39;Mozilla/5.0&amp;nbsp;(Windows&amp;nbsp;NT&amp;nbsp;10.0;&amp;nbsp;Win64;&amp;nbsp;x64)&amp;nbsp;AppleWebKit/537.36&amp;nbsp;(KHTML,&amp;nbsp;like&amp;nbsp;Gecko)&amp;nbsp;Chrome/58.0.3029.110&amp;nbsp;Safari/537.3&amp;#39;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;]
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;]);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;$response-&amp;gt;getBody()-&amp;gt;getContents();}?&amp;gt;&lt;/pre&gt;&lt;p style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-stretch: inherit; font-size: var(--markdown-B1_Content-font-size); line-height: var(--markdown-B1_Content-line-height); font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;&lt;span style=&quot;color: var(--Labels-Primary); font-family: inherit; font-style: inherit; font-variant-ligatures: inherit; font-variant-caps: inherit; font-weight: 600; font-size: inherit; letter-spacing: 0.5px;&quot;&gt;&lt;/span&gt;&lt;br/&gt;&lt;/p&gt;&lt;h3 class=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-stretch: inherit; font-size: var(--markdown-B1_Content_Emphasized-font-size); line-height: var(--markdown-B1_Content_Emphasized-line-height); font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap: wrap; background-color: rgb(255, 255, 255);&quot;&gt;（二）解析 HTML 内容&lt;/h3&gt;&lt;p style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-stretch: inherit; font-size: var(--markdown-B1_Content-font-size); line-height: var(--markdown-B1_Content-line-height); font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;使用 &lt;code data-v-cad61513=&quot;&quot; data-v-2ee015cb=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; color: var(--Labels-Primary); background-color: var(--Fills-F1); border-radius: 4px; max-width: 100%; word-break: break-word; overflow: auto;&quot;&gt;DOMDocument&lt;/code&gt; 和 &lt;code data-v-cad61513=&quot;&quot; data-v-2ee015cb=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; color: var(--Labels-Primary); background-color: var(--Fills-F1); border-radius: 4px; max-width: 100%; word-break: break-word; overflow: auto;&quot;&gt;DOMXPath&lt;/code&gt; 解析 HTML 内容，提取商品详情&lt;span data-v-1b11b2a6=&quot;&quot; class=&quot;rag-tag text&quot; data-index=&quot;4&quot; data-site-name=&quot;稀土掘金&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 1px 8px; border: 0px; vertical-align: baseline; box-sizing: border-box; position: relative; top: -1px; cursor: pointer; user-select: none; max-width: 100px; min-width: 18px; height: 24px; display: inline-flex; align-items: center; justify-content: center; border-radius: 24px; color: var(--Labels-Secondary); background-color: var(--Fills-F2);&quot;&gt;&lt;/span&gt;：&lt;/p&gt;&lt;p style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-stretch: inherit; font-size: var(--markdown-B1_Content-font-size); line-height: var(--markdown-B1_Content-line-height); font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;&lt;span style=&quot;color: var(--Labels-Primary); font-family: inherit; font-style: inherit; font-variant-ligatures: inherit; font-variant-caps: inherit; font-weight: 600; font-size: inherit; letter-spacing: 0.5px;&quot;&gt;php&lt;/span&gt;&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-php&quot;&gt;&amp;lt;?phpfunction&amp;nbsp;parse_html($html)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$dom&amp;nbsp;=&amp;nbsp;new&amp;nbsp;DOMDocument();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@$dom-&amp;gt;loadHTML($html);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$xpath&amp;nbsp;=&amp;nbsp;new&amp;nbsp;DOMXPath($dom);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$products&amp;nbsp;=&amp;nbsp;[];
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$productItems&amp;nbsp;=&amp;nbsp;$xpath-&amp;gt;query(&amp;quot;//div[@class=&amp;#39;sm-offer-item&amp;#39;]&amp;quot;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;foreach&amp;nbsp;($productItems&amp;nbsp;as&amp;nbsp;$item)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$title&amp;nbsp;=&amp;nbsp;$xpath-&amp;gt;evaluate(&amp;quot;string(.//a[@class=&amp;#39;offer-title&amp;#39;])&amp;quot;,&amp;nbsp;$item);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$price&amp;nbsp;=&amp;nbsp;$xpath-&amp;gt;evaluate(&amp;quot;string(.//span[@class=&amp;#39;price&amp;#39;])&amp;quot;,&amp;nbsp;$item);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$description&amp;nbsp;=&amp;nbsp;$xpath-&amp;gt;evaluate(&amp;quot;string(.//div[@class=&amp;#39;desc&amp;#39;])&amp;quot;,&amp;nbsp;$item);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$sales&amp;nbsp;=&amp;nbsp;$xpath-&amp;gt;evaluate(&amp;quot;string(.//span[@class=&amp;#39;sales&amp;#39;])&amp;quot;,&amp;nbsp;$item);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$products[]&amp;nbsp;=&amp;nbsp;[
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;#39;title&amp;#39;&amp;nbsp;=&amp;gt;&amp;nbsp;$title,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;#39;price&amp;#39;&amp;nbsp;=&amp;gt;&amp;nbsp;$price,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;#39;description&amp;#39;&amp;nbsp;=&amp;gt;&amp;nbsp;$description,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;#39;sales&amp;#39;&amp;nbsp;=&amp;gt;&amp;nbsp;$sales
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;];
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;$products;}?&amp;gt;&lt;/pre&gt;&lt;p style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-stretch: inherit; font-size: var(--markdown-B1_Content-font-size); line-height: var(--markdown-B1_Content-line-height); font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;&lt;span style=&quot;color: var(--Labels-Primary); font-family: inherit; font-style: inherit; font-variant-ligatures: inherit; font-variant-caps: inherit; font-weight: 600; font-size: inherit; letter-spacing: 0.5px;&quot;&gt;&lt;/span&gt;&lt;br/&gt;&lt;/p&gt;&lt;h3 class=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-stretch: inherit; font-size: var(--markdown-B1_Content_Emphasized-font-size); line-height: var(--markdown-B1_Content_Emphasized-line-height); font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap: wrap; background-color: rgb(255, 255, 255);&quot;&gt;（三）&lt;a href=&quot;https://o0b.cn/jason&quot; target=&quot;_self&quot;&gt;按关键字搜索商品&lt;/a&gt;&lt;/h3&gt;&lt;p style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-stretch: inherit; font-size: var(--markdown-B1_Content-font-size); line-height: var(--markdown-B1_Content-line-height); font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;根据关键字构建搜索 URL，并获取搜索结果页面的 HTML 内容&lt;span data-v-1b11b2a6=&quot;&quot; class=&quot;rag-tag text&quot; data-index=&quot;5&quot; data-site-name=&quot;稀土掘金&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 1px 8px; border: 0px; vertical-align: baseline; box-sizing: border-box; position: relative; top: -1px; cursor: pointer; user-select: none; max-width: 100px; min-width: 18px; height: 24px; display: inline-flex; align-items: center; justify-content: center; border-radius: 24px; color: var(--Labels-Secondary); background-color: var(--Fills-F2);&quot;&gt;&lt;/span&gt;：&lt;/p&gt;&lt;p style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-stretch: inherit; font-size: var(--markdown-B1_Content-font-size); line-height: var(--markdown-B1_Content-line-height); font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;&lt;span style=&quot;color: var(--Labels-Primary); font-family: inherit; font-style: inherit; font-variant-ligatures: inherit; font-variant-caps: inherit; font-weight: 600; font-size: inherit; letter-spacing: 0.5px;&quot;&gt;php&lt;/span&gt;&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-php&quot;&gt;&amp;lt;?phpfunction&amp;nbsp;search_products($keyword,&amp;nbsp;$page&amp;nbsp;=&amp;nbsp;1)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$baseUrl&amp;nbsp;=&amp;nbsp;&amp;quot;https://s.1688.com/selloffer/offer_search.htm&amp;quot;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$url&amp;nbsp;=&amp;nbsp;$baseUrl&amp;nbsp;.&amp;nbsp;&amp;quot;?keywords=&amp;quot;&amp;nbsp;.&amp;nbsp;urlencode($keyword)&amp;nbsp;.&amp;nbsp;&amp;quot;&amp;amp;pageno=&amp;quot;&amp;nbsp;.&amp;nbsp;$page;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$html&amp;nbsp;=&amp;nbsp;get_html($url);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;parse_html($html);}?&amp;gt;&lt;/pre&gt;&lt;p style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-stretch: inherit; font-size: var(--markdown-B1_Content-font-size); line-height: var(--markdown-B1_Content-line-height); font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;&lt;span style=&quot;color: var(--Labels-Primary); font-family: inherit; font-style: inherit; font-variant-ligatures: inherit; font-variant-caps: inherit; font-weight: 600; font-size: inherit; letter-spacing: 0.5px;&quot;&gt;&lt;/span&gt;&lt;br/&gt;&lt;/p&gt;&lt;h3 class=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-stretch: inherit; font-size: var(--markdown-B1_Content_Emphasized-font-size); line-height: var(--markdown-B1_Content_Emphasized-line-height); font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap: wrap; background-color: rgb(255, 255, 255);&quot;&gt;（四）整合代码&lt;/h3&gt;&lt;p style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-stretch: inherit; font-size: var(--markdown-B1_Content-font-size); line-height: var(--markdown-B1_Content-line-height); font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;将上述功能整合到主程序中，实现完整的爬虫程序&lt;span data-v-1b11b2a6=&quot;&quot; class=&quot;rag-tag text&quot; data-index=&quot;6&quot; data-site-name=&quot;稀土掘金&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 1px 8px; border: 0px; vertical-align: baseline; box-sizing: border-box; position: relative; top: -1px; cursor: pointer; user-select: none; max-width: 100px; min-width: 18px; height: 24px; display: inline-flex; align-items: center; justify-content: center; border-radius: 24px; color: var(--Labels-Secondary); background-color: var(--Fills-F2);&quot;&gt;&lt;/span&gt;：&lt;/p&gt;&lt;p style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-stretch: inherit; font-size: var(--markdown-B1_Content-font-size); line-height: var(--markdown-B1_Content-line-height); font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;&lt;span style=&quot;color: var(--Labels-Primary); font-family: inherit; font-style: inherit; font-variant-ligatures: inherit; font-variant-caps: inherit; font-weight: 600; font-size: inherit; letter-spacing: 0.5px;&quot;&gt;php&lt;/span&gt;&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-php&quot;&gt;&amp;lt;?php$keyword&amp;nbsp;=&amp;nbsp;&amp;quot;女装&amp;quot;;$products&amp;nbsp;=&amp;nbsp;search_products($keyword);foreach&amp;nbsp;($products&amp;nbsp;as&amp;nbsp;$product)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;echo&amp;nbsp;&amp;quot;商品名称:&amp;nbsp;&amp;quot;&amp;nbsp;.&amp;nbsp;$product[&amp;#39;title&amp;#39;]&amp;nbsp;.&amp;nbsp;&amp;quot;\n&amp;quot;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;echo&amp;nbsp;&amp;quot;商品价格:&amp;nbsp;&amp;quot;&amp;nbsp;.&amp;nbsp;$product[&amp;#39;price&amp;#39;]&amp;nbsp;.&amp;nbsp;&amp;quot;\n&amp;quot;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;echo&amp;nbsp;&amp;quot;商品描述:&amp;nbsp;&amp;quot;&amp;nbsp;.&amp;nbsp;$product[&amp;#39;description&amp;#39;]&amp;nbsp;.&amp;nbsp;&amp;quot;\n&amp;quot;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;echo&amp;nbsp;&amp;quot;商品销量:&amp;nbsp;&amp;quot;&amp;nbsp;.&amp;nbsp;$product[&amp;#39;sales&amp;#39;]&amp;nbsp;.&amp;nbsp;&amp;quot;\n&amp;quot;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;echo&amp;nbsp;&amp;quot;----------------------\n&amp;quot;;}?&amp;gt;&lt;/pre&gt;&lt;p style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-stretch: inherit; font-size: var(--markdown-B1_Content-font-size); line-height: var(--markdown-B1_Content-line-height); font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;&lt;span style=&quot;color: var(--Labels-Primary); font-family: inherit; font-style: inherit; font-variant-ligatures: inherit; font-variant-caps: inherit; font-weight: 600; font-size: inherit; letter-spacing: 0.5px;&quot;&gt;&lt;/span&gt;&lt;br/&gt;&lt;/p&gt;&lt;h2 class=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-stretch: inherit; font-size: var(--markdown-H2_Content-font-size); line-height: var(--markdown-H2_Content-line-height); font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap: wrap; background-color: rgb(255, 255, 255);&quot;&gt;三、注意事项和建议&lt;/h2&gt;&lt;h3 class=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-stretch: inherit; font-size: var(--markdown-B1_Content_Emphasized-font-size); line-height: var(--markdown-B1_Content_Emphasized-line-height); font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap: wrap; background-color: rgb(255, 255, 255);&quot;&gt;（一）遵守网站规则&lt;/h3&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-stretch: inherit; font-size: var(--markdown-B1_Content-font-size); line-height: var(--markdown-B1_Content-line-height); font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;在爬取数据时，务必遵守 1688 的 &lt;code data-v-cad61513=&quot;&quot; data-v-2ee015cb=&quot;&quot; class=&quot;segment-code-inline&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 2px 6px; border: 0px; vertical-align: baseline; color: var(--Labels-Primary); background-color: var(--Fills-F1); border-radius: 4px; max-width: 100%; word-break: break-word; overflow: auto;&quot;&gt;robots.txt&lt;/code&gt; 文件规定和使用条款，不要频繁发送请求，以免对网站造成负担或被封禁&lt;span data-v-1b11b2a6=&quot;&quot; class=&quot;rag-tag text&quot; data-index=&quot;7&quot; data-site-name=&quot;稀土掘金&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 1px 8px; border: 0px; vertical-align: baseline; box-sizing: border-box; position: relative; top: -1px; cursor: pointer; user-select: none; max-width: 100px; min-width: 18px; height: 24px; display: inline-flex; align-items: center; justify-content: center; border-radius: 24px; color: var(--Labels-Secondary); background-color: var(--Fills-F2);&quot;&gt;&lt;/span&gt;。&lt;/div&gt;&lt;h3 class=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-stretch: inherit; font-size: var(--markdown-B1_Content_Emphasized-font-size); line-height: var(--markdown-B1_Content_Emphasized-line-height); font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap: wrap; background-color: rgb(255, 255, 255);&quot;&gt;（二）处理异常情况&lt;/h3&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-stretch: inherit; font-size: var(--markdown-B1_Content-font-size); line-height: var(--markdown-B1_Content-line-height); font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;在编写爬虫程序时，要考虑到可能出现的异常情况，如请求失败、页面结构变化等。可以通过捕获异常和设置重试机制来提高程序的稳定性&lt;span data-v-1b11b2a6=&quot;&quot; class=&quot;rag-tag text&quot; data-index=&quot;8&quot; data-site-name=&quot;稀土掘金&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 1px 8px; border: 0px; vertical-align: baseline; box-sizing: border-box; position: relative; top: -1px; cursor: pointer; user-select: none; max-width: 100px; min-width: 18px; height: 24px; display: inline-flex; align-items: center; justify-content: center; border-radius: 24px; color: var(--Labels-Secondary); background-color: var(--Fills-F2);&quot;&gt;&lt;/span&gt;。&lt;/div&gt;&lt;h3 class=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-stretch: inherit; font-size: var(--markdown-B1_Content_Emphasized-font-size); line-height: var(--markdown-B1_Content_Emphasized-line-height); font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap: wrap; background-color: rgb(255, 255, 255);&quot;&gt;（三）数据存储&lt;/h3&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-stretch: inherit; font-size: var(--markdown-B1_Content-font-size); line-height: var(--markdown-B1_Content-line-height); font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;获取到的商品信息可以存储到文件或数据库中，以便后续分析和使用&lt;span data-v-1b11b2a6=&quot;&quot; class=&quot;rag-tag text&quot; data-index=&quot;9&quot; data-site-name=&quot;稀土掘金&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 1px 8px; border: 0px; vertical-align: baseline; box-sizing: border-box; position: relative; top: -1px; cursor: pointer; user-select: none; max-width: 100px; min-width: 18px; height: 24px; display: inline-flex; align-items: center; justify-content: center; border-radius: 24px; color: var(--Labels-Secondary); background-color: var(--Fills-F2);&quot;&gt;&lt;/span&gt;。&lt;/div&gt;&lt;h3 class=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-stretch: inherit; font-size: var(--markdown-B1_Content_Emphasized-font-size); line-height: var(--markdown-B1_Content_Emphasized-line-height); font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap: wrap; background-color: rgb(255, 255, 255);&quot;&gt;（四）合理设置请求频率&lt;/h3&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-stretch: inherit; font-size: var(--markdown-B1_Content-font-size); line-height: var(--markdown-B1_Content-line-height); font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;避免高频率请求，合理设置请求间隔时间，例如每次请求间隔几秒到几十秒，以降低被封禁的风险&lt;span data-v-1b11b2a6=&quot;&quot; class=&quot;rag-tag text&quot; data-index=&quot;10&quot; data-site-name=&quot;稀土掘金&quot; style=&quot;font: inherit; scrollbar-color: transparent transparent; margin: 0px 4px; padding: 1px 8px; border: 0px; vertical-align: baseline; box-sizing: border-box; position: relative; top: -1px; cursor: pointer; user-select: none; max-width: 100px; min-width: 18px; height: 24px; display: inline-flex; align-items: center; justify-content: center; border-radius: 24px; color: var(--Labels-Secondary); background-color: var(--Fills-F2);&quot;&gt;&lt;/span&gt;。&lt;/div&gt;&lt;h2 class=&quot;&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px 0px 16px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-stretch: inherit; font-size: var(--markdown-H2_Content-font-size); line-height: var(--markdown-H2_Content-line-height); font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; color: rgba(0, 0, 0, 0.9); text-wrap: wrap; background-color: rgb(255, 255, 255);&quot;&gt;四、总结&lt;/h2&gt;&lt;div class=&quot;paragraph&quot; style=&quot;font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, Arial, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Microsoft YaHei UI&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, sans-serif; scrollbar-color: transparent transparent; margin: 0px; padding: 0px; border: 0px; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-stretch: inherit; font-size: var(--markdown-B1_Content-font-size); line-height: var(--markdown-B1_Content-line-height); font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; vertical-align: baseline; letter-spacing: 0px; max-width: 100%; white-space: pre-wrap; word-break: break-word; color: rgba(0, 0, 0, 0.9); background-color: rgb(255, 255, 255);&quot;&gt;通过上述步骤和代码示例，你可以轻松地使用 PHP 爬虫获取 1688 商品的详细信息。希望这个教程能为你提供一些启发和帮助。如果你对爬虫开发有更多兴趣，可以尝试探索更复杂的功能，如多线程爬取、数据可视化等.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/div&gt;</description><pubDate>Thu, 31 Jul 2025 16:21:05 +0800</pubDate></item><item><title>欢迎来到我的博客~</title><link>https://obapi.cn/?id=3</link><description>&lt;p&gt;欢迎来到我的博客~&lt;/p&gt;</description><pubDate>Wed, 30 Jul 2025 17:11:20 +0800</pubDate></item></channel></rss>