玩蛇网提供最新Python编程技术信息以及Python资源下载!

Python爬虫源码求解析问为何for循环语句无法输出

请问下面这段代码,输出时只显示第一排中文标题,然后就停止了,本人小白,,刚学,很多不懂,大虾求解


import urllib2
import re
from bs4 import BeautifulSoup

def crawl(url):
    page = urllib2.urlopen(url)
    contents = page.read()
    soup = BeautifulSoup(contents)
    print(u' 豆瓣电影TOP250:\n 序号 \t影片名\t 评分 \t评价人数 \t 链接 ')
    for tag in soup.find_all('tr', class_='item'):
    #print tag
        m_order = int(tag.find('td', class_='m_order').get_text())
        m_name = tag.a.get_text()
        m_year = tag.span.get_text()
        m_rating_score = float(tag.em.get_text())
        m_rating_num = int(tag.find(headers="m_rating_num").get_text())
        m_url=str(tag.find('a')).split('"')[1]
        #print m_url

       print("%s %s %s %s %s %s " % (m_order, m_name, m_year, m_rating_score, m_rating_num,m_url)) 
if name == 'main':
crawl('http://movie.douban.com/top250?format=text')

不是停止了,是没有更多的输出了。
为什么没有输出了?soup.find_all('tr', class_='item'):没有tr标签并且class是item的啊。

打开http://movie.douban.com/top250?format=text,好好看下sourcecode吧。

import urllib.request
import re
from bs4 import BeautifulSoup

def crawl(url):
    page = urllib.request.urlopen(url)
    contents = page.read()
    soup = BeautifulSoup(contents)
    print(u' 豆瓣电影TOP250:\n 序号 \t影片名\t 评分 \t评价人数 \t 链接 ')
    for tag in soup.find_all('div', class_='item'):
        m_order = int(tag.find('div', class_='pic').em.get_text())
        m_name = tag.find('span',class_='title').get_text()
        print(m_order,m_name)

if __name__ == '__main__':
    crawl('http://movie.douban.com/top250?format=text')

玩蛇网文章,转载请注明出处和文章网址:https://www.iplaypy.com/wenda/wd18609.html

相关文章 Recommend

玩蛇网Python互助QQ群,欢迎加入-->: 106381465 玩蛇网Python新手群
修订日期:2017年05月31日 - 10时44分18秒 发布自玩蛇网

您现在的位置: 玩蛇网首页 > Python问题解答 > 正文内容
我要分享到:

必知PYTHON教程 Must Know PYTHON Tutorials

必知PYTHON模块 Must Know PYTHON Modules