You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python Selenium获取印度IPO商标期刊网站的PDF链接

获取印度IPO商标期刊PDF链接的解决方法

一、错误链接的问题原因

你提供的失败链接使用了Windows风格的反斜杠\,而网站URL路径必须使用正斜杠/,修正后的链接应为:
https://search.ipindia.gov.in/IPOJournal/Journal/ViewJournal/ipo-docs/IPIndia_Docs/TMR/2024/2159/CLASS 1 - 25.pdf
不过该链接是否有效,取决于对应的期刊编号(2159)和年份(2024)是否存在有效文档。

二、PDF链接的正确结构

印度IPO商标期刊的PDF链接遵循固定格式:

https://search.ipindia.gov.in/IPOJournal/Journal/ViewJournal/ipo-docs/IPIndia_Docs/TMR/{YEAR}/{JOURNAL_NUMBER}/{CLASS_RANGE}.pdf
  • {YEAR}:4位数字的年份(如2024)
  • {JOURNAL_NUMBER}:该年份下的期刊编号(如2159)
  • {CLASS_RANGE}:商标分类范围(如CLASS 1 - 25、CLASS 26 - 45)

三、用Python自动获取PDF链接的实现

步骤1:爬取期刊列表页面

主页面search.ipindia.gov.in/IPOJournal/Journal/Trademark会列出近期商标期刊条目,可通过requests和BeautifulSoup提取参数后构造PDF链接。

示例代码:

import requests
from bs4 import BeautifulSoup
import time

# 模拟浏览器请求头
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36'
}

# 主页面URL
base_url = 'https://search.ipindia.gov.in/IPOJournal/Journal/Trademark'
response = requests.get(base_url, headers=headers)
response.encoding = 'utf-8'
soup = BeautifulSoup(response.text, 'html.parser')

# 提取期刊条目(需根据页面实际HTML结构调整选择器)
journal_rows = soup.select('table tr')[1:]  # 跳过表头行
pdf_links = []

for row in journal_rows:
    cols = row.select('td')
    if len(cols) < 3:
        continue
    # 从表格列中提取年份、期刊编号
    journal_info = cols[1].text.strip().split('/')
    year = journal_info[-1]
    journal_num = journal_info[0].split()[-1]
    # 商标期刊通常分为两个分类范围
    class_ranges = ['CLASS 1 - 25', 'CLASS 26 - 45']
    
    # 构造并验证PDF链接
    for class_range in class_ranges:
        pdf_url = f"https://search.ipindia.gov.in/IPOJournal/Journal/ViewJournal/ipo-docs/IPIndia_Docs/TMR/{year}/{journal_num}/{class_range}.pdf"
        # 发送HEAD请求验证链接有效性
        try:
            check = requests.head(pdf_url, headers=headers, timeout=5)
            if check.status_code == 200:
                pdf_links.append(pdf_url)
        except:
            continue
    time.sleep(1)  # 添加延迟避免反爬

# 输出有效PDF链接
for link in pdf_links:
    print(link)

注意事项

  • 页面HTML结构可能更新,需根据实际源码调整表格选择器(如table tr)。
  • 若请求被限制,可增加延迟时长或使用代理IP绕过反爬。
  • 部分期刊可能仅包含单个分类范围的PDF,需通过HEAD请求验证有效性。

四、直接查看完整PDF的方式

  1. 访问主页面https://search.ipindia.gov.in/IPOJournal/Journal/Trademark
  2. 找到目标期刊条目,点击进入详情页
  3. 在详情页中,点击页面内的PDF下载/查看按钮,即可直接访问对应文档

内容的提问来源于stack exchange,提问作者Biki

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 23:47:37