Python urllib获取HTML页面要求

问题描述 投票:0回答:1

我想问问是否有适当的方法来检索(不要在本地保存/下载)使用python urllib正确显示给定HTML页面及其信息(页面大小等)所需的所有文件。 ?这包括内联图像,声音和引用的样式表。

我搜索并发现wget可以使用--page-requisites标志来执行所描述的过程,但是性能不相同,因此我不想在本地下载任何内容。此外,标志-O/dev/null与我要实现的功能不兼容。

我的最终目标是访问页面(在本地托管),收集页面信息并继续。

任何技巧,请阅读参考文献。

python html web-crawler wget urllib
1个回答
0
投票

我建议Scrapy。它使用起来很简单,您可以设置xpath以仅查找和检索所需的信息,例如内联图像,声音和引用的样式表。

example用于检索文本和链接

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。然后,您可以保存数据或做任何您想做的事情。

© www.soinside.com 2019 - 2024. All rights reserved.