- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我试图了解 linkextractor 在 Scrapy 中是如何工作的。我想要实现的目标:
按照起始页分页
搜索 URL 并扫描某个模式中的所有链接
在找到的链接页面中,点击该页面上与模式匹配的另一个链接并废弃该页面
我的代码:
class ToScrapeMyspider(CrawlSpider):
name = "myspider"
allowed_domains = ["myspider.com"]
start_urls = ["www.myspider.com/category.php?k=766"]
rules = (
Rule(LinkExtractor(restrict_xpaths='//link[@rel="next"]/a'), follow=True),
Rule(LinkExtractor(allow=r"/product.php?p=\d+$"), callback='parse_spider')
)
def parse_spider(self, response):
Request(allow=r"/product.php?e=\d+$",callback=self.parse_spider2)
def parse_spider2(self, response):
#EXTRACT AND PARSE DATA HERE ETC (IS WORKING)
我的分页链接如下所示:
<link rel="next" href="https://myspider.com/category.php?k=766&amp;s=100" >
首先我从restrict_xpaths收到错误
'str' object has no attribute 'iter'
但我想我把事情搞砸了
最佳答案
终于工作了:
rules = (
Rule(LinkExtractor(allow=(), restrict_xpaths=('//a[@rel="next"]',)), follow=True),
Rule(LinkExtractor(allow=('product\.php', )), callback='parse_sider'),
)
BASE_URL = 'https://myspider.com/'
def parse_spy(self, response):
links = response.xpath('//li[@id="id"]/a/@href').extract()
for link in links:
absolute_url = self.BASE_URL + link
yield scrapy.Request(absolute_url, callback=self.parse_spider2)
关于python - Scrapy中的Linkextractor,分页和2深度链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47156621/
我正在尝试抓取 Erowid 并收集有关体验的数据。我试图从有关药物的一般信息转化为实际体验本身。 但是 LinkExtractor 似乎无法正常工作。 import scrapy from scra
我正在研究 Scrapy 库并尝试制作一个小爬虫。 这是爬虫的规则: rules = ( Rule(LinkExtractor(restrict_xpaths='//div[@class="w
我的爬虫实现如下。 它正在运行,它将通过受 link extractor 监管的站点。 基本上我要做的是从页面的不同位置提取信息: - 类“新闻”下的 href 和 text()(如果存在) - 类“
我有一个这样的爬虫: class SkySpider(CrawlSpider): name = "spider_v1" allowed_domains = [ "ats
我正在使用 CrawlSpider 和 LinkExtractor 来抓取链接。 我如何将参数附加到 LinkExtractor 找到的链接?我想将 '?pag_sortorder=0&pag_per
我正在尝试从亚马逊抓取一个类别,但我在 Scrapy 中获得的链接与浏览器中的链接不同。现在,我正在尝试跟踪下一页,并在 Scrapy 中(将 response.body 打印到 txt 文件中)我看
with open('/home/timmy/myamazon/bannedasins.txt') as f: banned_asins = f.read().split('\n') clas
我正在尝试使用 Scrapy 从页面中提取所有链接,但我很难使用 LinkExtractor。我尝试了以下方法: import scrapy from scrapy.spiders import Cr
我是 scrapy 框架的新手,我看过一些使用 LinkExtractors 的教程和一些使用 SgmlLinkExtractor 的教程。我曾尝试寻找两者的差异/利弊,但结果并不令人满意。 谁能告诉
我正在使用一个 CrawlSpider,它使用链接提取递归地跟踪调用下一页的链接,例如: rules = (Rule(LinkExtractor( allow=(),\
因此,我传入一个 start_url,它是新闻文章页面(例如 cnn.com )。但是,我只想提取新闻文章本身,我不想跟踪文章页面上的任何链接。为此,我使用 CrawlSpider遵循以下规则: ru
我试图在 Scrapy 的 CrawlSpider 中限制每个 URL 的抓取页面数量。我有一个 start_urls 列表,我想对每个 URL 中抓取的页面数量设置限制。一旦达到限制,蜘蛛应该移动到
我无法让 LinkExtractor 在数据属性中查找链接。 HTML 看起来像这样: LinkExtractor 是这样的: LinkExtractor(allow=('us/support/',
无法弄清楚为什么 scrapy 中的 CrawlSpider 尽管设置了规则但不进行分页。 但是,如果将start_url更改为http://bitcoin.travel/listing-catego
所以我正在尝试使用 CrawlSpider 并理解 Scrapy Docs 中的以下示例: import scrapy from scrapy.spiders import CrawlSpider,
我致力于在网站上进行抓取,我使用 LinkExtractor 从 scrapy 抓取链接并确定其响应状态。 此外,我还想使用链接提取器从站点获取图像源。我有一个代码,它适用于网站网址,但我似乎无法获取
我致力于在网站上进行抓取,我使用 LinkExtractor 从 scrapy 抓取链接并确定其响应状态。 此外,我还想使用链接提取器从站点获取图像源。我有一个代码,它适用于网站网址,但我似乎无法获取
我正在尝试遵循网站的所有 css 样式表,例如https://www.thomann.de/de/index.html 我继承自 scrapy CrawlSpider 类并使用 LxmlLinkExt
我创建了一个简单的蜘蛛来抓取 disneyfoodblog.com 帖子并返回帖子标题和帖子永久链接。 我的项目没有显示任何错误。调试输出(见下文)显示所有起始链接都已访问,但这些页面上的链接没有被抓
我要抓取页面http://www.douban.com/tag/%E7%88%B1%E6%83%85/movie 。我的蜘蛛代码的一部分是: class MovieSpider(CrawlSpider
我是一名优秀的程序员,十分优秀!