01爬虫实例-豆瓣top250

01爬虫实例-豆瓣top250

一、豆瓣top250

这是我参与更文挑战的第3天,活动详情查看: 更文挑战

# 豆瓣top250# 获取 电影名称,影评和图片import requestsfrom lxml import etreeclass DouBan(object):    def __init__(self, url):        self.url = url        self.headers = {            'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/537.36'}    def parse_url(self):  # 获取源码        response = requests.get(url=self.url, headers=self.headers)        return response.content.decode()    def parse_str(self, sound_code):  # 提取数据        html = etree.HTML(sound_code)        li_list = html.xpath('//*[@id="content"]/div/div[1]/ol/li')        item = []        for li in li_list:            title = li.xpath('div/div[2]/div[1]/a/span[1]/text()')            film_review = li.xpath('div/div[2]/div[2]/p[2]/span/text()')            if film_review == None:                continue            img = li.xpath('div/div[1]/a/img/@src')            item.append(title)            item.append(film_review)            item.append(img)        return item    def save_html(self, content_list):  # 保存页面的源码        with open("douban.html", "w", encoding="utf-8")as f:            f.write(content_list)    def run(self):  # 启动        # while True:        sound_code = self.parse_url()        self.save_html(sound_code)        content_list = self.parse_str(sound_code)        # save = self.save_str(content_list)        print(content_list)if __name__ == '__main__':    for i in range(0, 226, 25):        url = "https://movie.douban.com/top250?start=" + str(i)        spider = DouBan(url)        spider.run()
免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部