Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在下面的场景中使用scrapy时,如何处理sub和sup?_Python_Xpath_Web Scraping_Scrapy_Scrapy Spider - Fatal编程技术网

Python 在下面的场景中使用scrapy时,如何处理sub和sup?

Python 在下面的场景中使用scrapy时,如何处理sub和sup?,python,xpath,web-scraping,scrapy,scrapy-spider,Python,Xpath,Web Scraping,Scrapy,Scrapy Spider,我试图从下面显示的HTML格式中提取问题 <li > <h3 > Number Theory - Factors < /h3 > <p lang = "title" > How many factors of 2 < sup > 5 < /sup > * 3 < sup > 6 < /sup > * 5 < sup > 2 < /sup > are perfe

我试图从下面显示的HTML格式中提取问题

<li > 
    <h3 > Number Theory - Factors < /h3 >
    <p lang = "title" > How many factors of 2 < sup > 5 < /sup > * 3 < sup > 6 < /sup > * 5 < sup > 2 < /sup > are perfect squares?< /p >

    <ol class = "xyz" >
        <li > 18 < /li >
        <li > 24 < /li >
        <li > 36 < /li >
        <li > 8 < /li >
    < / ol >
    <ul class="exp">
        <li class="grey fleft">
            <span class="qlabs_tooltip_bottom qlabs_tooltip_style_33" style="cursor:pointer;">
                <span>
                    <strong>Correct Answer</strong>Choice (B).</br>24
                </span> Correct answer
            </span>
        </li>
        <li class="primary fleft">
            <a href="factors_3.shtml">Explanatory Answer</a>
        </li>
        <li class="grey1 fleft">Factors - Perfect Squares</li>
        <li class="orange flrt">Medium</li>
    </ul>       
</li>
  • 数论-因子

    25*36*52中有多少因子是完美的正方形?

  • 18
  • 24
  • 36
  • 8
    • 正确答案选择(B)。
      24 正确答案
    • 因子-完美正方形 中等
    我的问题可以从XPath表达式normalize space(//p[@class=“soln”])中提取出来

    XPath表达式提取并提供了以下文本 24*53*74中有多少因子是奇数?

    我如何在sub和sup中获取问题? 可能性1:我得到的问题是“24*53*74的因子中有多少是奇数?而不会丢失sub或sup”


    可能性2我得到的问题是“2^4*5^3*7^4中有多少因子是奇数?基本上我不想改变问题的含义?”

    这不太好,但我们可以用
    ^
    预先替换
    ,并删除剩下的

    In [1]: response = response.replace(body=response.body.replace("<sup>", "^").replace("</sup>", ""))
    
    In [2]: response.xpath('normalize-space(//p[@lang="title"])').extract_first()
    Out[2]: u'How many factors of 2 ^ 5 * 3 ^ 6 * 5 ^ 2 are perfect squares?'
    
    [1]中的
    :response=response.replace(body=response.body.replace(“,”^”).replace(“,”)
    [2]中的response.xpath('normalize-space(//p[@lang=“title”])。extract_first()
    Out[2]:u‘2^5*3^6*5^2的因子中有多少是完美的平方?’
    
    我不太熟悉screpy,但我可以添加一些用java编写的代码示例,这对您很有帮助

    // get inner html of your question with `sup` or `sub` tags
    
    String question = driver.findElement(By.xpath("//p[@lang = 'title'] ")).getAttribute("innerHTML");
    
    // Replace the tags with symbols
    
    String newQuestion = question.replace("<sup>", "^").replace("</sup>", "");
    System.out.println(newQuestion);
    
    //使用'sup'或'sub'标记获取问题的内部html
    String question=driver.findElement(By.xpath(“//p[@lang='title']”);
    //用符号替换标记
    字符串newQuestion=question.replace(“,”^”).replace(“,”);
    System.out.println(newQuestion);
    
    你能清楚地解释一下发生了什么以及你想要什么吗。您提供的描述似乎与您添加的html不相关。是否有任何方法可以让问题保持原样而不改变其含义?我更新了我的问题@Tuks