2017-10-11 56 views
0

我学的课程学习Python,我尝试着做一些刮,但是我有我的计划有些困难刮(我用PyCharm):与BeautifulSoup [求助]

import urllib2 

from BeautifulSoup import BeautifulSoup 

url = urllib2.urlopen(raw_input("Enter - ")) 

soup = BeautifulSoup(url, "html.parser") 

tags = soup("span") 

total = [] 

for tag in tags: 

    total.append(int(tag)) 

print sum(total) 
print len(total) 

问题是,当我运行代码,我想要报废的页面打开,但代码不运行,即我没有我的列表的总和和长度

+0

什么是你想刮的页面? – mentalita

+0

'tag'是一个'Tag'对象,你不能把它变成int。你应该使用'int(tag.text)'或其他一些属性。 –

+0

我认为'汤(“span”)'是错误的,因此我怀疑标签可能是空的。你应该确保路径是正确的,以便以后处理任何东西。 – lerner

回答

0

你是什么意思的“数字”的数字?检查出来,如果这是你的意思:

import requests 
from lxml import html 

response = requests.get("http://py4e-data.dr-chuck.net/comments_35201.html").text 
tree = html.fromstring(response) 
title = [item.text for item in tree.cssselect(".comments")] 
for x in range(len(title)): 
    print("{} {}".format(x+1,title[x])) 

部分结果:

1 97 
2 91 
3 88 
4 87 
5 87 
6 86