用Python提取合并由集搜客爬取的多个xml文件中的数据
为了爬点小数据同时试用了八爪鱼和集搜客。两者都有免费版本,但八爪鱼数据导出需要积分,集搜客可以不用积分。不过八爪鱼导出的数据有多种格式可选,而集搜客如果不用积分就只能得到一堆xml文件。本着能省则省的原则,用Python折腾了一个将多个xml文件中的内容进行提取并合并到一个txt文件中的小工具。八爪鱼和集搜客的简单试用对比:对能直接从页面提取的元素都有很好的支持,但如果是从源码中提取,集搜客的XPath支持貌似更好些。
也可以通过Excel的开发工具建立xml映射将多个xml导入一张sheet内。
用到了BeautifulSoup的库,需要另行下载安装。这里下载 其实不用BeautifulSoup也可以用正则表达式匹配出来。
#Merge .xml files into a csv-ready .txt.
#Matt Sun
#https://offmask.com
#Oct 22, 2016
#coding=utf-8
filePath = "c:\\work\\marketplace\\imgURL\\"
#放xml文件的文件夹路径
import os
from bs4 import BeautifulSoup
files = os.listdir(path = filePath)
outF = open('c:\\work\\marketplace\\imgurl.txt','a')
for i in range(len(files)):
xmlF = open(filePath+files[i],'r')
xmlContent = BeautifulSoup(xmlF)
xmlF.close()
imgUrl = xmlContent.url.text
asin = xmlContent.fullpath.text
outContent =asin + "," + imgUrl + "\n"
outF.write(outContent)
outF.close()
print("all done!")
本文固定链接: https://offmask.com/2016/merge-gooseeker-xml-with-python.html | 向死而生