【发布时间】:2018-07-21 07:29:09
【问题描述】:
我正在尝试使这段代码正常工作,以便我可以从以下网站上抓取表格的某些列:http://www.chiptiming.com.br/resultados/detalhes/2213609473
为了工作,我一直在尝试修改很多东西,但没有成功,谁能告诉我我做错了什么?我也放了日志。提前致谢。
ps:我看了很多类似的帖子,但我找不到原因,如果这个帖子有点重复,对不起。
from scrapy import Spider
from scrapy.selector import Selector
from stack.items import StackItem
class StackSpider(Spider):
name = "stack"
allowed_domains = ["chiptiming.com.br"]
start_urls =
['http://www.chiptiming.com.br/resultados/detalhes/2213609473',]
def parse(self, response):
products = response.xpath('//*[@id="uptPnlResultGrid"]/div/table//tr')
# ignore the table header row
for product in products[1:]:
item = StackItem()
item['Coloc'] = product.xpath('td[1]//text()').extract_first()
item['NumPeito'] = product.xpath('td[2]//text()').extract_first()
item['Nome'] = product.xpath('td[3]//text()').extract_first()
yield item
D:\Python\stack>python -m scrapy 抓取堆栈 -o items_corrida.json -t json 2018-02-10 16:19:04 [scrapy.utils.log] 信息:Scrapy 1.5.0 开始 (机器人:堆栈)2018-02-10 16:19:04 [scrapy.utils.log] 信息:版本: lxml 4.1.0.0,libxml2 2.9.4,cssselect 1.0.3,解析 1.4.0,w3lib 1.19.0、Twisted 17.9.0、Python 3.6.3 |Anaconda, Inc.| (默认,2017 年 10 月 15 日,03:27:45)[MSC v.1900 64 位(AMD64)],pyOpenSSL 17.2.0(OpenSSL 1.0.2l 2017 年 5 月 25 日),密码学 2.0.3,平台 Windows-10-10.0.16299-SP0 2018-02-10 16:19:04 [scrapy.crawler] 信息: 覆盖设置:{'BOT_NAME': 'stack', 'FEED_FORMAT': 'json', 'FEED_URI':'items_corrida.json','NEWSPIDER_MODULE':'stack.spiders', 'ROBOTSTXT_OBEY':真,'SPIDER_MODULES':['stack.spiders']} 2018-02-10 16:19:04 [scrapy.middleware] 信息:启用扩展: ['scrapy.extensions.corestats.CoreStats', 'scrapy.extensions.telnet.TelnetConsole', 'scrapy.extensions.feedexport.FeedExporter', 'scrapy.extensions.logstats.LogStats'] 2018-02-10 16:19:04 [scrapy.middleware] 信息:已启用下载器中间件: ['scrapy.downloadermiddlewares.robotstxt.RobotsTxtMiddleware', 'scrapy.downloadermiddlewares.httpauth.HttpAuthMiddleware', 'scrapy.downloadermiddlewares.downloadtimeout.DownloadTimeoutMiddleware', 'scrapy.downloadermiddlewares.defaultheaders.DefaultHeadersMiddleware', 'scrapy.downloadermiddlewares.useragent.UserAgentMiddleware', 'scrapy.downloadermiddlewares.retry.RetryMiddleware', 'scrapy.downloadermiddlewares.redirect.MetaRefreshMiddleware', 'scrapy.downloadermiddlewares.httpcompression.HttpCompressionMiddleware', 'scrapy.downloadermiddlewares.redirect.RedirectMiddleware', 'scrapy.downloadermiddlewares.cookies.CookiesMiddleware', 'scrapy.downloadermiddlewares.httpproxy.HttpProxyMiddleware', 'scrapy.downloadermiddlewares.stats.DownloaderStats'] 2018-02-10 16:19:04 [scrapy.middleware] 信息:启用蜘蛛中间件: ['scrapy.spidermiddlewares.httperror.HttpErrorMiddleware', 'scrapy.spidermiddlewares.offsite.OffsiteMiddleware', 'scrapy.spidermiddlewares.referer.RefererMiddleware', 'scrapy.spidermiddlewares.urllength.UrlLengthMiddleware', 'scrapy.spidermiddlewares.depth.DepthMiddleware'] 2018-02-10 16:19:04 [scrapy.middleware] INFO:启用项目管道:[] 2018-02-10 16:19:04 [scrapy.core.engine] 信息:Spider 于 2018-02-10 16:19:04 打开 [scrapy.extensions.logstats] 信息:抓取 0 页(以 0 页/分钟), 刮掉 0 件(以 0 件/分钟计算) 2018-02-10 16:19:04 [scrapy.extensions.telnet] 调试:Telnet 控制台正在监听 127.0.0.1:6024 2018-02-10 16:19:04 [scrapy.downloadermiddlewares.redirect] 调试:重定向(302)到 http://www.chiptiming.com.br/404.aspx> 来自 http://www.chiptiming.com.br/robots.txt> 2018-02-10 16:19:04 [scrapy.core.engine] DEBUG: 爬取(200) http://www.chiptiming.com.br/404.aspx> (referer: None) 2018-02-10 16:19:04 [scrapy.core.engine] 调试:已爬取 (200) http://www.chiptiming.com.br/resultados/detalhes/2213609473>(参考: 无)2018-02-10 16:19:04 [scrapy.core.engine] 信息:关闭蜘蛛 (完成) 2018-02-10 16:19:04 [scrapy.statscollectors] INFO: 倾销 Scrapy stats: {'downloader/request_bytes': 880, 'downloader/request_count': 3, 'downloader/request_method_count/GET': 3,'downloader/response_bytes':17534,'downloader/response_count': 3, 'downloader/response_status_count/200': 2, 'downloader/response_status_count/302': 1, 'finish_reason': “完成”,“完成时间”: datetime.datetime(2018, 2, 10, 18, 19, 4, 768123), 'log_count/DEBUG': 4, 'log_count/INFO': 7, 'response_received_count':2,'调度程序/出队':1, “调度程序/出队/内存”:1,“调度程序/入队”:1, '调度程序/排队/内存':1,'start_time':datetime.datetime(2018, 2、10、18、19、4、319337)} 2018-02-10 16:19:04 [scrapy.core.engine] 信息:蜘蛛关闭(完成)
【问题讨论】:
-
请提供所需的输出以及您目前得到的结果
-
源 HTML 代码中没有您想要的信息(您可以在浏览器中使用
Ctrl+U进行检查)。它是通过 AJAX 调用加载的(POST到 chiptiming.com.br/resultados/detalhes/2213609473) -
有没有办法从页面中获取这些信息?
标签: python web-scraping scrapy