爬豆瓣高分榜

来源:互联网 发布:淘宝客服上哪儿应聘 编辑:程序博客网 时间:2024/06/10 02:38

网上看到有人用python做爬虫练习,自己也学着来个

(虽然很烂)

如果你很不幸的看到了,摊手...:

# -*- coding:utf-8 -*-# Author:Jacky Cheng'''爬取豆瓣高分榜 电影数据遇到的问题:    1、requests,get(url) 的返回对象必须 加上 .text 属性,否则 在使用BeautitulSoup时无论怎样        调整 解析器 都会报错。    2、解析器:html.parse               lxml               html5lib               无论哪一种并不能一定能解析成功,需多次尝试    3、find_all() 根据CSS 定位 标签 用 关键字"class_" , 以避免 与 python内置的class关键字冲突    4、附上 BeaufulSoup 官方文档地址:https://www.crummy.com/software/BeautifulSoup/bs4/doc/    '''import htmlimport requestsfrom bs4 import BeautifulSoupcontent = ''for i in range(11):    try:        url = 'https://www.douban.com/doulist/240962/?start={}'.format(i)        response = requests.get(url).text        bsObj = BeautifulSoup(response, 'html5lib')        div_tags = bsObj.find_all('div', {'class':'bd doulist-subject'})        for div_tag in div_tags:            move_name = div_tag.find('div', {'class':'title'}).find('a').get_text().strip()            move_link = div_tag.find('div', class_='title').find('a')['href'].strip()            actors = div_tag.find('div', class_='abstract').get_text().strip()            rate = div_tag.find('div', class_='rating').find('span', class_='rating_nums').get_text().strip()            rate_number = div_tag.find('div', class_='rating').find_all('span')[2].get_text().strip()            content += move_name+';\n\t'+'评分:'+rate+'分'+';\n\t'+rate_number+';\n\t'+actors+';\n\t'\                       +'豆瓣地址:'+move_link+'\n\n'            print(type(content))    except:        print("在{}发生了一个错误,请注意》》》》".format(url))        continuewith open('豆瓣高分榜.txt', 'w', encoding='utf-8') as f:    f.write(content)    f.close()print("恭喜 完成工作!")


原创粉丝点击