相关疑难解决方法(0)

Logging into facebook with python

If I run the following code 10 times in a row, it will work about half the time and fail the rest. Anyone know why?

import urllib2, cookielib, re, os, sys

class Facebook():
    def __init__(self, email, password):
        self.email = email
        self.password = password

        cj = cookielib.CookieJar()
        opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
        opener.addheaders = [('Referer', 'http://login.facebook.com/login.php'),
                            ('Content-Type', 'application/x-www-form-urlencoded'),
                            ('User-Agent', 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.7) Gecko/20091221 Firefox/3.5.7 (.NET CLR 3.5.30729)')]
        self.opener = opener

    def login(self):
        url = 'https://login.facebook.com/login.php?login_attempt=1'
        data = "locale=en_US&non_com_login=&email="+self.email+"&pass="+self.password+"&lsd=20TOl" …
Run Code Online (Sandbox Code Playgroud)

python

4
推荐指数
2
解决办法
2万
查看次数

IOError 将请求 Response.content 传递给 lxml.etree.parse()

我在网页上有以下 xml -

<entry>
    <id>1750</id>
    <title>variablename</title>
    <source>
      com.tidalsoft.webclient.tes.dsp.db.datatypes.Variable
    </source>
    <tes:variable>
        <tes:ownername>ownergroup</tes:ownername>
        <tes:productiondate>2015-08-17T00:00:00-0400</tes:productiondate>
        <tes:readonly>N</tes:readonly>
        <tes:publish>N</tes:publish>
        <tes:description>
          Decription Here
        </tes:description>
        <tes:startcalendar>0</tes:startcalendar>
        <tes:ownerid>666</tes:ownerid>
        <tes:type>1</tes:type>
        <tes:lastusermodifiedtime>2015-06-15T15:42:27-0400</tes:lastusermodifiedtime>
        <tes:innervalue>\\share\location</tes:innervalue>
        <tes:calc>N</tes:calc>
        <tes:name>variablename</tes:name>
        <tes:startdate>1899-12-30T00:00:00-0500</tes:startdate>
        <tes:pub>Y</tes:pub>
        <tes:lastvalue>\\share\location</tes:lastvalue>
        <tes:id>1750</tes:id>
        <tes:startdateasstring>18991230000000</tes:startdateasstring>
        <tes:lastchangetime>2015-06-15T15:42:27-0400</tes:lastchangetime>
        <tes:clientcachelastchangetime>2015-08-17T09:56:49-0400</tes:clientcachelastchangetime>
    </tes:variable>
</entry>
Run Code Online (Sandbox Code Playgroud)

我正在尝试解析这些数据。我有一个通过请求 -

r = requests.get(url, auth=('username', 'password'))
Run Code Online (Sandbox Code Playgroud)

但是当我尝试解析内容时出现错误。

>>> xmlObject = etree.parse(r.content)
Traceback (most recent call last):
  File "apiTest.py", line 46, in <module>
    xmlObject = etree.parse(r.content)
  File "lxml.etree.pyx", line 3310, in lxml.etree.parse (src\lxml\lxml.etree.c:7
2517)
  File "parser.pxi", line 1791, in lxml.etree._parseDocument (src\lxml\lxml.etre
e.c:105979)
  File "parser.pxi", line 1817, …
Run Code Online (Sandbox Code Playgroud)

python lxml

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

标签 统计

python ×2

lxml ×1