如何用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的方式
- 访问主页面
https://search.ipindia.gov.in/IPOJournal/Journal/Trademark - 找到目标期刊条目,点击进入详情页
- 在详情页中,点击页面内的PDF下载/查看按钮,即可直接访问对应文档
内容的提问来源于stack exchange,提问作者Biki
相关产品推荐
相关产品推荐

