小编Pri*_*cey的帖子

lxml中的解析函数出错

我在Windows平台上安装了lxml2.2.2(即使用python版本2.6.5).我尝试了这个简单的命令:

from lxml.html import parse 
p= parse(‘http://www.google.com’).getroot()
Run Code Online (Sandbox Code Playgroud)

但我收到以下错误:

Traceback (most recent call last):
File “”, line 1, in p=parse(‘http://www.google.com’).getroot()
File “C:\Python26\lib\site-packages\lxml-2.2.2-py2.6-win32.egg\lxml\html_init_.py”, line 661, in parse return etree.parse(filenameorurl, parser, baseurl=baseurl, **kw) 
File “lxml.etree.pyx”, line 2698, in lxml.etree.parse (src/lxml/lxml.etree.c:49590) 
File “parser.pxi”, line 1491, in lxml.etree.parseDocument (src/lxml/lxml.etree.c:71205) File “parser.pxi”, line 1520, in lxml.etree.parseDocumentFromURL (src/lxml/lxml.etree.c:71488) 
File “parser.pxi”, line 1420, in lxml.etree.parseDocFromFile (src/lxml/lxml.etree.c:70583)
File “parser.pxi”, line 975, in lxml.etree.BaseParser.parseDocFrom
File (src/lxml/lxml.etree.c:67736)
File “parser.pxi”, line 539, in lxml.etree.ParserContext.handleParseResultDoc (src/lxml/lxml.etree.c:63820) 
File “parser.pxi”, line 625, in lxml.etree.handleParseResult (src/lxml/lxml.etree.c:64741) …
Run Code Online (Sandbox Code Playgroud)

python windows parsing lxml

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

ElementTree find()/ findall()找不到带命名空间的标签?

如果我指定命名空间,使用以下代码我希望能够搜索目标标记.

import xml.etree.ElementTree as ET

xml = """<?xml version="1.0" encoding="UTF-8"?>
         <xyz2:outer xmlns:xyz1="http://www.company.com/url/common/v1"
                     xmlns:xyz2="http://www.company.com/app/v2"
                     version="9.0"
                     something="false">
             <xyz2:inner>
                 <xyz2:target>
                     <xyz1:idType>name</xyz1:idType>
                     <xyz1:id>A Name Here</xyz1:id>
                 </xyz2:target>
             </xyz2:inner>
         </xyz2:outer>"""

tree = ET.fromstring(xml)

print tree[0][0]
# <Element '{http://www.company.com/app/v2}target' at 0x7f3c294374d0>

tree.find('{http://www.company.com/app/v2}target')
# None
Run Code Online (Sandbox Code Playgroud)

无论我做什么,我都无法找到目标标签?

我已经尝试了各种ElementTree实现,包括lxml,其中涉及{*}名称空间.没有骰子?

python xml elementtree xml-namespaces python-2.7

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

如何从suds请求中获取响应头

我正在使用python suds模块,并希望从suds响应中检索响应头(特别是Last-Modified).

python soap http suds

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

使用web.py的web.database时,如何防止滥用?

我正在写一个快速的web.py应用程序并从web.input获取数据...

import web
urls = (
    '/', 'something',
)
app = web.application(urls, globals())
db = web.database(dbn='postgres', db='database', user='username', password='password', host='127.0.0.1')
class something:
    def GET(self):
        i = web.input()
        return db.select('foo.table', where="column=$variable", vars={'variable':i.input, })
if __name__ == "__main__": app.run()
Run Code Online (Sandbox Code Playgroud)

我应该担心将i.input传递给db.select(或查询等),就像我作为vars的一部分一样吗?SQL注入的可能性等?


编辑:我一直在玩这个,试图让一些令人讨厌的事情发生.例如,使用引用,http:// localhost:8080 /?id = 13'或'x'='x会导致在异常中显示很好的转义sql:

<sql: 'select * from foo.table where id = "13\' or \'x\'=\'x"'>
Run Code Online (Sandbox Code Playgroud)

我已经尝试了互联网提出的一些其他常见测试,并认为我很高兴web.py正在处理卫生处理......还有其他人可以发表评论吗?

python sql-injection psycopg2 python-2.4 web.py

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