- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是一名学生,我正在为一个项目收集有关品牌的信息。我找到了这个名为 Kit 的网站:Kit Page我想搜索品牌。它有将近 500 页,我用 Python 3 编写了一个 Scrapy Spider,遍历每个页面并将列表复制到字典,但我无法弄清楚 xpath 或 css 来实际获取列表信息。这是我的 items.py:
import scrapy
class KitcreatorwebscraperItem(scrapy.Item):
creator = scrapy.Field()
这是我的蜘蛛:
import scrapy
class KitCreatorSpider(scrapy.Spider):
name = "kitCreators"
pageNumber = 1
start_urls = [
'https://kit.com/brands?page=1',
]
while pageNumber <= 478:
newUrl = "https://kit.com/brands?page=" + str(pageNumber)
start_urls.append(newUrl)
pageNumber += 1
def parse(self, response):
for li in response.xpath('//div[@class="section group"][0]'):
它运行成功,但我一直无法编写获取所需数据的 xpath。什么路径是必需的,我如何在代码中实现它?
最佳答案
您可以尝试在 Xpath
下提取品牌名称:
//a[@class="brandsView-list-item-link ng-binding"]/text()
附言我建议您不要创建 URL 列表。这似乎是一段多余的代码。相反,您可以使用 for
循环,例如:
for page_number in range(479):
url = "https://kit.com/brands?page=%s" % page_number
...handle current page source...
更新
You can try Selenium
+ PhantomJS
从动态内容中获取所需数据:
from selenium import webdriver
driver = webdriver.PhantomJS()
brands_list = []
for page in range(1, 480):
driver.get("https://kit.com/brands?page=%s" % page)
[brands_list.append(brand.text) for brand in driver.find_elements_by_xpath('//a[@class="brandsView-list-item-link ng-binding"]')]
print(brands_list)
关于python - Scrapy Spider 不返回任何信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44977591/
现在我有2个蜘蛛,我想做的是 Spider 1 转到 url1 如果 url2 出现,用 url2, ) 它加载设置但不抓取: 2015-08-24 14:13:32 [scrapy] INFO: E
我看到在他们使用的类末尾的一些蜘蛛文件中 class TestSpider(BaseSpider): pass SPIDER = TestSpider() 为什么我们要使用 SPIDER = T
我该如何解决这个错误? mona@pascal:~/computer_vision/instagram/instagram$ scrapy crawl instagramspider 2017-03-
很抱歉重新发布,我之前帖子的标题令人困惑。在蜘蛛示例(下面的代码)中,如何使用“pyinstaller”(或其他一些安装程序)来构建可执行文件(例如myspidy.exe),以便最终用户不需要在Win
我是python和scrapy的新手。我用了这个博客里的方法Running multiple scrapy spiders programmatically在 flask 应用程序中运行我的蜘蛛程序。
我们的 Meteor 版本是 0.8.1,这意味着当我们尝试安装当前版本的 Spiderable 时它会崩溃。PhantomJS 与这种不兼容有关,因为它有一些过时的依赖项,主要是关于 BlazeLa
我需要什么: 启动爬虫 爬虫工作完成 等一分钟 再次启动爬虫 我试试这个: from scrapy.crawler import CrawlerProcess from scrapy.utils.pr
我是一名学生,我正在为一个项目收集有关品牌的信息。我找到了这个名为 Kit 的网站:Kit Page我想搜索品牌。它有将近 500 页,我用 Python 3 编写了一个 Scrapy Spider,
我更新到 Spyder 4(4.0.0?)以获得最新、最强大的功能。这时我发现Spyder现在可以选择使用Kite进行自动补全。在尝试了 Kite 一段时间后,我想恢复到以前的自动完成设置。我认为通过
下面是我组装的一个 Scrapy 蜘蛛,用于从网页中提取一些元素。我从another Stack Overflow solution借用了这个解决方案。它有效,但我需要更多。我需要能够在身份验证后遍历
情况: 我想在我的 vps ubuntu 服务器上运行一些应用程序以进行爬网测试。我的应用使用来自“atmosphere”的 meteor-router 和 mrt 包管理器。在我使用 phantom
我正在尝试在此 SO 线程中使用“warwaruk”描述的链接解析结构: Following links, Scrapy web crawler framework 这在仅从每个页面抓取单个项目时效果
我正在编写一个 scrapy 蜘蛛从主页上抓取今天纽约时报的文章,但由于某种原因它不跟踪任何链接。当我在 scrapy shell http://www.nytimes.com 中实例化链接提取器时,
我已经看过类似的问题并尝试了给出的答案但无济于事。有人可以帮我纠正这个吗? 谢谢 hepz@ubuntu:~/Documents/project/project$ scrapy crawl NewsS
大家好,我正在尝试从代码中的给定链接获取完整结果。但我的代码没有给出所有结果。这个链接说它包含 2132 个结果,但它只返回 20 个结果。: from scrapy.spider import Sp
scrapyd 文档包括以下注释: scrapyd-deploy won’t deploy anything outside the project module... 这是否意味着我不能从我的蜘蛛中
我是 python 编程和 scrapy 的新手。我在网络爬行时遇到错误。我在这个网站上使用过类似的帮助页面,甚至从头到尾遵循了一个教程,但没有成功,任何帮助将不胜感激。 错误说:蜘蛛错误处理http
因此,当我尝试从 epinions.com 抓取产品评论信息时,如果主要评论文本太长,它会有一个指向另一个页面的“阅读更多”链接。我从“http://www.epinions.com/reviews/
我已阅读Scrapy: Follow link to get additional Item data?并遵循它,但它不起作用,可能这是一个简单的错误,所以我把我的蜘蛛的源代码。 import scr
我定义了一个scrapy Spider,它可以抓取所有名字和一些故事,而定义的xpath无法捕获故事,来自https://www.cancercarenorthwest.com/survivor-st
我是一名优秀的程序员,十分优秀!