当前位置: 首页 > 知识库问答 >
问题:

xpath和scrapy在python 3.6不工作

罗奇文
2023-03-14

我正在努力使这段代码正常工作,以便我可以从下面的网站上抓取表中的一些列: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

共有1个答案

卫建义
2023-03-14

我尝试了你的代码,但从这一行只得到了一个空的产品:

products=response.xpath('/*[@id=“uptPnlResultGrid”]/div/table//tr')

我认为这是动态网站,试试飞溅。

 类似资料:
  • 对于python及其不同版本,我有很多不理解的问题。我正在学习一门CS50网络课程,我需要pip3用于Python3.6或更高版本。情况是,我不能将pip用于Python3.6。在下,我可以找到不同的pip文件:pip、pip2、pip2.7、pip3和pip3.4。无论如何,如果我运行“pip”,我会得到消息bash: /usr/local/bin/pip:/usr/bin/python:缺陷解

  • 大家好,我想使用scrapy中的xpath从html块中提取所有文本 假设我们有这样一个块: 我想将文本摘录为[“blahblah”,“blahblah”,“blihblih”]。我希望xpath在div节点中递归查找文本。我听说过try:,但它不提取嵌套元素。 干杯!SEB

  • 我的骆驼路线

  • 我正在尝试使用Python和SeleniumWebDriver自动化一个过程。我能够成功登录并导航到我想要发布内容的页面,但由于某些原因,系统无法识别xpath。 它给出了以下错误: NoSuchElementException:无法定位元素://*[@id=“widecol”]/div/form/p[1]/input 这是我的代码: 这是我的HTML代码 这给了我以下错误: NoSuchElem

  • 我有以下简单的嵌套结构: 我现在想从所有节点中提取所有文本,但与嵌套节点(等等)斗争。 预期产出应为: 尝试类似于: 给出 我没有使用直接的XPATH,而是尝试使用Scrapy中的几个步骤,例如: 使用 不起作用,因为它给出了所有节点。在这里使用div.extract()并查看返回的字符串,我当然可以找到使用字符串搜索的方法,但这是一个很大的漏洞,看起来不像是一个合适的解决方案。 对于如何直接使用

  • 我正在使用Selenium Web驱动程序,同时使用Chrome和HTMLUnit。对于Chrome,下面的代码可以工作,但HTMLUnit返回一个错误,表示找不到元素。 最后一行将返回null,未找到任何元素。使用的XPath是: 与Chrome配合使用,在XPath与HTMLUnit配合使用时失败。知道吗? 使用的驱动程序如下所示: