Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/89.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用Scrapy在链接内进行Web抓取_Python_Html_Web_Web Scraping_Scrapy - Fatal编程技术网

Python 使用Scrapy在链接内进行Web抓取

Python 使用Scrapy在链接内进行Web抓取,python,html,web,web-scraping,scrapy,Python,Html,Web,Web Scraping,Scrapy,我从一个有几页数据的网站上抓取信息。在每个片段中,我都提取了一些信息。然而,我也想进入我正在抓取的链接,从那里抓取信息,然后返回到站点继续抓取。如何使用Scrapy实现这一点?爬行蜘蛛库可以与Scrapy一起使用,递归地在巨大的网页图中爬行 更多信息: 您可以使用递归来实现所需的目标。首先抓取一个开始链接,然后递归地迭代其中的链接,然后继续。请注意,这种递归可能需要很长时间,并且在某些情况下可能最终禁止使用刮刀。尝试将递归深度限制为2或3 代码段: from scrapy.linkextract

我从一个有几页数据的网站上抓取信息。在每个片段中,我都提取了一些信息。然而,我也想进入我正在抓取的链接,从那里抓取信息,然后返回到站点继续抓取。如何使用Scrapy实现这一点?

爬行蜘蛛库可以与Scrapy一起使用,递归地在巨大的网页图中爬行

更多信息:

您可以使用递归来实现所需的目标。首先抓取一个开始链接,然后递归地迭代其中的链接,然后继续。请注意,这种递归可能需要很长时间,并且在某些情况下可能最终禁止使用刮刀。尝试将递归深度限制为2或3

代码段:

from scrapy.linkextractors import LinkExtractor
from scrapy.contrib.spiders import CrawlSpider, Rule
from scrapy.item import Item, Field
from scrapy.http import Request

class MyItem(Item):
    url= Field()

class MySpider(CrawlSpider):
    name = 'twitter.com'
    allowed_domains = ['twitter.com']
    start_urls = ['http://www.twitter.com']

    rules = (Rule(LinkExtractor(), callback='parse_url', follow=False), )

    def parse_url(self, response):
        item = MyItem()

        ## Do your processing here

        item['url'] = response.url
        request = Request(response.url)
        yield request

嗨,可悲的蟾蜍,你能告诉我们你已经尝试了什么,你想爬什么网站吗?请更新您的问题,以便人们可以帮助您。让我们呼叫页面具有结果列表索引页面;让我们调用页面有详细数据详细页面,所以您想从索引页面提取详细页面URL,然后您想转到详细页面刮取详细数据?您不知道如何通过scrapy转到详细信息页面?如果您想从主页和详细信息页面获取数据以创建一行数据,那么您可以使用Requesturl\u to\u details,meta={data:data\u from\u main\u page},parse\u details}。但是,你不想从许多页面中创建一行,然后你会要求任何教程或文档中都可以找到的知识,而你只会浪费时间去要求。