【发布时间】:2014-04-08 00:17:57
【问题描述】:
我在使用此代码时遇到问题,因为除了将输出写入“f 文件”之外,它一切正常。谁能帮我解决这个问题?
问题出在这行:f.write(blog +' '+ authority +'\n')
try:
response = br.open(buyer)
tree = html.fromstring(response.read())
blogs = tree.xpath('//div/ul/li[@class="sidebar-item"]/a/@href')
for blog in blogs:
if '.blogspot.com' in blog:
try:
response = br.open(blog)
except HTTPError, e:
if 'http://www.blogger.com/create-blog.g?defaultSubdomain=' in e.read():
try:
response = br.open( 'http://www.opensiteexplorer.org/links?site=' + blog )
except Exception:
response = br.open( 'http://www.opensiteexplorer.org/links?site=' + blog )
tree = html.fromstring(response.read())
authority = int (tree.xpath('//span[@class="metrics-authority"]/text()')[1].strip())
if authority>1:
print blog
print 'This blog is ready to be registered'
print authority
f.write(blog +' '+ authority +'\n')
else:
print ''
except Exception:
print ''
print 'Finished'
f.close()
【问题讨论】:
-
是报错还是不写?
-
只是没有写任何东西,而在终端中,我可以看到输出
-
您应该在
f.write(blog + ' ' + authority + '\n')中获得一个ValueError,因为authority是一个int,您不能将其添加到@987654326 @。它要么没有进入那个分支,要么你在这里发布了一个错字,或者它抛出了一个异常。
标签: python urllib2 lxml mechanize