[英]Web Scraping within Links using Scrapy
我正在從一個有幾頁數據的網站上抓取信息。 在每次抓取中,我都提取了一些信息。 但是,我還想在我正在抓取的鏈接中的 go 並從那里抓取信息,然后返回站點並繼續抓取。 我將如何使用 Scrapy 做到這一點?
CrawlSpider 庫可以與 scrapy 一起使用,以遞歸地爬取 web 頁面的巨大圖。
更多信息:
https://realpython.com/web-scraping-and-crawling-with-scrapy-and-mongodb/
https://mherman.org/blog/recursively-scraping-web-pages-with-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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.