允许使用Beautiful Soup获取特定站点的img标记

时间:2017-03-08 07:28:41

标签: python web-scraping beautifulsoup

我是一个抓取初学者,并从我引用代码的文件中保存图像 This answer

这是我正在使用的代码片段:

$(document).ready(function() {
    $('.btn-danger').on('click', function(e){
        e.preventDefault();
        var me = $(this);
        $.alert({
            title: 'Alert!',
            content: 'Are you sure you want to delete data?',
            buttons: {
                Yes: function () {
                    me.closest('tr').remove();
                },
                No: function () {
                    //close function
                }
            }
        });
    });
});

虽然我从许多网站获得结果,但我在代码中使用的网址不起作用,我希望代码仅适用于此。

请帮我解决这个问题,或者网址有问题。

1 个答案:

答案 0 :(得分:1)

您在问题中的链接是图像本身。

>>> import requests
>>> r = requests.get('https://i1.adis.ws/i/jpl/sz_093868_a?qlt=80&w=600&h=672&v=1')
>>> r.headers
{'Content-Length': '28281', 'X-Amp-Published': 'Sat, 21 Jun 2014 18:53:54 GMT', 'Date': 'Wed, 08 Mar 2017 08:53:53 GMT', 'Accept-Ranges': 'bytes', 'Expires': 'Wed, 08 Mar 2017 09:23:53 GMT', 'Server': 'Unknown', 'X-Amp-Source-Width': '1785', 'Connection': 'keep-alive', 'Edge-Control': 'max-age=14400', 'Cache-Control': 's-maxage=14400, max-age=1800', 'X-Amp-Source-Height': '2000', 'Access-Control-Allow-Origin': '*', 'X-Req-ID': 'ITrIxNFmOt', 'Content-Type': 'image/jpeg'}
>>> r.headers['Content-Type']
'image/jpeg'

因此,您可能需要先检查Content-Type,然后查看是否要查看链接(抓取更多网址)并从中提取图片。