Python urllib获取HTML页面必备项



我想问一下,是否有合适的方法来检索(不要在本地保存/下载(所有文件,这些文件是用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即可。然后,您可以保存数据或执行任何您想要的操作。

最新更新