首页 > 解决方案 > Scrapy 跟踪特定 div 中的链接

问题描述

我试图关注相关链接,但没有任何成功。我的scrapy 脚本(scrapy 的全新)得到“抓取 0 页”。

我正在尝试抓取一系列看起来有这样一个部分的页面:

<div id="index">
<h2>Find Listings </h2>
<div class="group">
  <h3>A</h3>
    <ul>
      <li><a href="/STATE-City/Segment-number-one">Segment-number-one</a></li>
      <li><a href="/STATE-City/Segment-number-two">Segment-number-two</a></li>
      <li><a href="/STATE-City/Segment-number-three">Segment-number-three</a></li>

等等...

跟随链接时,下一级有我想要解析出一些数据的数据。当我直接解析页面时,它会提取我想要的数据。但是,我没有让脚本遵循上面的每个链接。

我当前的脚本:

    class MySpider(CrawlSpider):
        name = "domain"
        allowed_domains = ["domain.com"]
        start_urls = ['http://URL/STATE-City1', 
                      'http://URL/STATE-City2']      
        rules = (Rule(LinkExtractor(allow=r"/STATE-\w+/*?$"), callback='parse_contents'),)        

        def parse_contents(self, response):
            for bus in response.css('div.resultWrapper'):
                yield {        
                    'field1': bus.css('div.resultInner a::text').extract_first(),
                    'field2': bus.css('p.field2::text').extract_first(),
                    'field3': bus.css('span.field3::text').extract_first(),
                    'field4': bus.css('span.field4::text').extract(),
                    'field5' : bus.css('span.field5::text').extract(),
                }

谢谢你的帮助。

BCBB

标签: pythonscrapyscrapy-spider

解决方案


推荐阅读