我想问一下,是否有合适的方法来检索(不要在本地保存/下载(所有文件,这些文件是用pythonurllib
正确显示给定HTML页面及其信息(页面大小等(所必需的?这包括诸如内联图像、声音和引用的样式表之类的东西。
我搜索发现wget
可以使用--page-requisites
标志执行所描述的过程,但性能不一样,我不想在本地下载任何东西。此外,标志-O/dev/null
不符合我想要实现的目标。
我的最终目标是点击页面(本地托管(,收集页面信息并继续前进。
任何提示,阅读参考资料,不胜感激。
我推荐Scrapy。它使用起来很简单,您可以设置xpath
来定位和检索所需的信息,例如内联的图像、声音和引用的样式表。
检索文本和链接的示例
import scrapy
from ikea.items import IkeaItem
class IkeaSpider(scrapy.Spider):
name = 'ikea'
allowed_domains = ['http://www.ikea.com/']
start_urls = ['http://www.ikea.com/']
def parse(self, response):
for sel in response.xpath('//tr/td'):
item = IkeaItem()
item['name'] = sel.xpath('//a/text()').extract()#change here
item['link'] = sel.xpath('//a/@href').extract()
yield item
正如您所看到的,您可以设置一个Xpath
来提取您想要的内容。
例如,
图像,item['link'] = sel.xpath('//img').extract()
声音,item['link'] = sel.xpath('//audio').extract()
至于在本地托管,它也可以正常工作,只需更改url
即可。然后,您可以保存数据或执行任何您想要的操作。