如何克服上市网站上的蜜罐上市? (草皮)

我对抓取还很陌生,并希望为我的研究项目使用Scrapy抓取一个网站。

有问题的网站在每个页面上都有许多分类列表,并且在每个页面上都有一个蜜罐列表,当从浏览器查看时,蜜罐列表不会显示(在下面的代码中使用HappySpinoffs类的div),但是当一个人检查了DOM列表在那里,但只是在HTML的CSS块中隐藏了CSS属性(非嵌入式)。我已经检查了HTML,并且蜜罐列表和页面上的其他列表之间没有区别-唯一的区别是HTML文档中其上方的CSS属性。当我使用Scrapy抓取页面时,Xpath选择器会在蜜罐列表中出现,并且该漫游器会被阻止。类名是动态生成的,蜜罐列表的位置在每个页面上都会更改。查看下面的CSS代码块,仅使用蜜罐清单的类-其他的只是扔掉一个。

我目前正在通过以下xpath '/div[contains(@class,"js_resultTile")'获取列表,但随后它捕获了蜜罐列表。我不知道如何通过xpath来获取所有这些CSS类,并将它们检查到我得到的列表中,以免蜜罐列表被删除。鉴于大约有500,000个列表,并且每周需要更新一次,因此解决方案必须超级快捷。

HTML:

<div class="js_listingResultsContainer">
    <div class="b34_promotedTile js_resultTile js_pseudoLinkContainer js_rollover_container HappyReacting" data-listing-number="P108146928">...</div>
    <div class="b34_promotedTile js_resultTile js_pseudoLinkContainer js_rollover_container HappyMorrow" data-listing-number="P108079642">...</div>
    <div class="b34_promotedTile js_resultTile js_pseudoLinkContainer js_rollover_container Happypumping" data-listing-number="P107587584">...</div>
    <div class="b34_promotedTile js_resultTile js_pseudoLinkContainer js_rollover_container HappyBudgeted" data-listing-number="P108129532">...</div>
    <div class="b34_promotedTile js_resultTile js_pseudoLinkContainer js_rollover_container HappyDormant" data-listing-number="P107692442">...</div>
    <div class="HappyMistimed js_resultTile" data-listing-number="106933717">...</div>
    <div class="HappySalivas js_resultTile" data-listing-number="108171874">...</div>
    <div class="HappyInanity js_resultTile" data-listing-number="108168952">...</div>
    <div class="HappyMiss js_resultTile" data-listing-number="108168914">...</div>
    <div class="HappyRevolver js_resultTile" data-listing-number="108138404">...</div>
    <div class="HappyMongrel js_groupedResultTile" data-listing-number="108165172">...</div>
    <div class="HappyMexicans js_groupedResultTile" data-listing-number="108111893">...</div>
    <div class="HappyScaling js_resultTile" data-listing-number="108131862">...</div>
    <div class="HappyJacob js_resultTile" data-listing-number="108108694">...</div>
    <div class="HappyWhelp js_resultTile" data-listing-number="108152564">...</div>
    <div class="HappyCome js_resultTile" data-listing-number="108163034">...</div>
    <div class="HappyBrawler js_resultTile" data-listing-number="108153616">...</div>
    <div class="HappySpinoffs js_resultTile" data-listing-number="107969187">...</div>
    <div class="HappyDrug js_resultTile" data-listing-number="108117622">...</div>
    <div class="HappyBecalmed js_resultTile" data-listing-number="108146204">...</div>
    <div class="HappyInfante js_resultTile" data-listing-number="108134673">...</div>
</div>

页面HTML(不是外部CSS文件)中的CSS属性更进一步:

   <style type="text/css">

                .HappySpinoffs
                {

                            position: absolute;
                        left: -6541px;

                }


                .HappyDefying
                {

                            position: absolute;
                        left: -9018px;

                }


                .HappyBenefit
                {

                            position: absolute;
                        left: -6421px;

                }


                .HappyAssert
                {

                            left: -7575px;
                        position: absolute;

                }


                .HappyForswore
                {

                            position: absolute;
                        left: -7694px;

                }


                .HappySmiler
                {

                            left: -5308px;
                        position: absolute;

                }

        </style>
}
oasises123 回答:如何克服上市网站上的蜜罐上市? (草皮)

如果要按var SELECT_ALL = 'SELECT sum(xxx) as xxx,time,lat,lon FROM xxx where time = ' + '"'+stamp+'"' + ' group by time,lon'; 排除某些div

class

更新 然后,您需要先解析honeypot的CSS:

'/div[contains(@class,"js_resultTile")][not(contains(@class,"js_pseudoLinkContainer"))]'

接下来,您需要为每个拥有的honeypots = response.xpath('//style[@some_selectors_here]/text()').re(r'\.(\S+)\s+\{') 获得class

div
本文链接:https://www.f2er.com/3085867.html

大家都在问