如何使用Python将Selenium抓取到的网页链接保存为TXT文件?
实现方法
完全不需要改动你现有的元素定位逻辑,只要在遍历提取href的环节收集有效链接,最后用Python内置的文件操作写入TXT即可,注意两个容易踩的细节:
- 写入时指定
utf-8编码,避免带特殊字符、中文的链接出现乱码 - 过滤提取失败的空值,避免生成的TXT出现大量无意义空行
可直接替换使用的代码
# 初始化列表存储有效链接 scraped_hrefs = [] try: links = driver.find_elements_by_xpath('//div[@class="s-item__wrapper clearfix"]//a[@class="s-item__link"]') for link in links: current_href = link.get_attribute('href') # 保留原有打印逻辑 print(current_href) # 非空链接才存入列表 if current_href: scraped_hrefs.append(current_href) # 写入TXT文件 with open('extracted_links.txt', 'w', encoding='utf-8') as file: # 每个链接单独占一行 for url in scraped_hrefs: file.write(f'{url}\n') print(f'保存完成,共写入{len(scraped_hrefs)}条有效链接') except Exception as err: print(f'程序运行异常:{str(err)}') finally: driver.quit()
常见调整说明
- 生成的
extracted_links.txt默认保存在Python脚本运行的同级目录,如需自定义存储位置,将open方法中的文件路径替换为绝对路径即可,例如'/home/user/links/ebay_items.txt' - 若希望多次运行的链接追加到同一个文件、不覆盖历史内容,将
open方法的打开模式从'w'(覆盖写入)改为'a'(追加写入)即可 - 如果使用Selenium 4及以上版本,原
find_elements_by_xpath方法已被官方弃用,可先从selenium.webdriver.common.by导入By类,再替换为driver.find_elements(By.XPATH, "你的xpath表达式"),文件保存逻辑不受影响
内容的提问来源于stack exchange,提问作者Ranit Bhowmick
相关产品推荐
相关产品推荐

