小编Gen*_*han的帖子

使用XPath获取HTML元素的文本内容?

看到这个HTML

<div>
    <p>
    <span class="abc">Monitor</span> <b>$300</b>
    </p>
    <a href="/add">Add to cart</a>
</div>
<div>
    <p>
    <span class="abc">Keyboard</span> $20 
    </p>
    <a href="/add">Add to cart</a>
</div>
Run Code Online (Sandbox Code Playgroud)

使用xpath我想解析Monitor $300Keyboard $20.我用这个xpath

 //div[a[contains(., "Add to cart")]]/p/text()
Run Code Online (Sandbox Code Playgroud)

但它选择了<span class="abc">Monitor</span> <b>$300</b>.我不想要标签.我如何只获得文字?

html xml xpath html-parsing

19
推荐指数
1
解决办法
5万
查看次数

UnicodeDecodeError:'ascii'编解码器无法解码字节0xa3

我收到了这个字符串'Velcro Back Rest \xa36.99'.注意它没有u在前面.它只是简单的ascii.

如何将其转换为unicode?

我试过这个,

>>> unicode('Velcro Back Rest \xa36.99')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
UnicodeDecodeError: 'ascii' codec can't decode byte 0xa3 in position 17: ordinal not in range(128)
Run Code Online (Sandbox Code Playgroud)

这个答案很好地解释了.但我和那个问题的OP 有同样的问题.在评论的答案中,温斯顿说:"你不应该编码一个字符串对象..."

但我正在工作的框架要求它应该转换为unicode字符串.我使用scrapy而且我有这条线.

loader.add_value('name', product_name)
Run Code Online (Sandbox Code Playgroud)

这里product_name包含有问题的字符串,它会抛出错误.

python unicode encoding utf-8 scrapy

4
推荐指数
1
解决办法
7496
查看次数

finally块中的return语句

MDN中声明,

如果finally块返回一个值,则该值将成为整个try-catch-finally生成的返回值,而不管try和catch块中的任何return语句如何:

所以我尝试执行以下代码,

function an(){
    var r = try{
        throw 1;
    } catch(e){
        console.log("Caught: %o", e);
    } finally {
        return 2;
    }
    console.log("r=%o", r);
    return 3;
}
Run Code Online (Sandbox Code Playgroud)

这是行不通的.引发语法错误.

SyntaxError: syntax error

    var r = try{
Run Code Online (Sandbox Code Playgroud)

这里有什么不对?

javascript exception try-catch try-catch-finally

2
推荐指数
1
解决办法
2630
查看次数

循环中一次从列表中检索2个项目?

如何一次从循环中检索2个项目?

我有这个清单

lst = ['url1', 'value1', 'url2', 'value2', ... ]
Run Code Online (Sandbox Code Playgroud)

我想循环它,并且每次迭代我想要获取2个项目.

for x in lst:
    x # here x loops 1 by one.
Run Code Online (Sandbox Code Playgroud)

我正在使用波纹管解决方案

for i in range(0, len(lst), 2):
    url = lst[i]
    val = lst[i+1]
Run Code Online (Sandbox Code Playgroud)

我想知道有没有内置的东西?

python arrays loops list python-2.7

1
推荐指数
1
解决办法
92
查看次数

GET()只需要2个参数(给出4个参数)

我有一个带有以下服务器代码的web.py应用程序.

import web
import mod1

urls = (
  '/(\w*)/(c|r|u|d)/(.*)', '\\1.\\2',
)

if __name__ == "__main__": 
    app = web.application(urls, globals())
    app.run()        
Run Code Online (Sandbox Code Playgroud)

mod1.py 包含

class c:
    def POST(self):
        return "C"

class d:
    def DELETE(self):
        return "d"

class u:
    def POST(self):
        return "u"

class r:
    def GET(self, _id):
        return "v={0}".format(_id)
Run Code Online (Sandbox Code Playgroud)

现在请求http://.../mod1/r/3退货GET() takes exactly 2 arguments (4 given).

这里有什么问题?

python rest web.py

0
推荐指数
1
解决办法
1777
查看次数