Python爬虫学习(五)爬取电影名次榜及其图片,比如名次、电影叫、导演、主演等音信

既是要分析豆类电影TOP250

Python爬虫学习(一)概述
Python爬虫学习(二)urllib基础运用
Python爬虫学习(三)urllib进阶使用
Python爬虫学习(四)正则表达式
Python爬虫学习(五)爬取电影名次榜及其图片
Python爬虫学习(六)BeautifulSoup来袭
Python爬虫学习(七)爬取淘女郎
Python爬虫学习(八)爬取知乎关注用户

这就是说势必将管相关的数码搜集下来,比如排行、电影叫、导演、主演等音讯。

Python爬虫学习(九)Requests库初探
Python爬虫学习(十)Requests库探探
Python爬虫学习(十一)使用Request爬取猫眼电影排行
Python爬虫学习(十二)selenium来了
Python爬虫学习(十三)使用selenium爬取天猫商品

那么就必使一下爬虫咯,假如还免相会的语,欢迎看前面的章:

Python爬虫学习(十四)美丽的女子写真学图(一)
Python爬虫学习(十五)美丽的女子写真学图(二)

Python爬虫学习(一)概述
Python爬虫学习(二)urllib基础运用
Python爬虫学习(三)urllib进阶使用
Python爬虫学习(四)正则表明式
Python爬虫学习(五)爬取电影名次榜及其图片
Python爬虫学习(六)BeautifulSoup来袭
Python爬虫学习(七)爬取淘女郎
Python爬虫学习(八)爬取知乎关注用户

此Scrapy篇第一回,这大家便优先品尝尝鲜,写一个略项目。关于Scrapy的安,请参见:

Python爬虫学习(九)Requests库初探
Python爬虫学习(十)Requests库探探
Python爬虫学习(十一)使用Request爬取猫眼电影名次
Python爬虫学习(十二)selenium来了
Python爬虫学习(十三)使用selenium爬取Tmall商品

如何在Windows下安装Scrapy
Installation
guide

Python爬虫学习(十四)丽人写真学图(一)
Python爬虫学习(十五)漂亮的女孩子写真学图(二)

我们假设去抓取:http://quotes.toscrape.com/,这多少个网站面临之有名气的人名言,下面初始演出:

本,你吧足以利用豆瓣提供的API接口:https://developers.douban.com/wiki/?title=movie\_v2,提供的数量较完好:

创建一个工程

于大家起头爬取在此以前,需要新建一个Scrapy工程。我们好事先上其余一个公想存代码的目录,运行命令:scrapy startproject quotetutorial

开创工程

运转成功后,Scrapy将会见在当前目录下自行创设一个曰也quotetutorial的文本夹,包括如下的布局:

quotetutorial/
    scrapy.cfg            # deploy configuration file

    quotetutorial/             # project's Python module, you'll import your code from here
        __init__.py

        items.py          # project items definition file

        pipelines.py      # project pipelines file

        settings.py       # project settings file

        spiders/          # a directory where you'll later put your spiders
            __init__.py

试跳了生,这应当是遥遥无期事先的消息了,现在调用API再次来到的数额略早就没有了,而且暴发调用次数限制,依旧好写爬虫采集音讯吧,就当练练手!

第一个Spider

Spider是一个咱以Scrapy用来爬取网页抓取新闻的接近(统称为Spider),它要连续scrapy.Spider,并且定义有艺术及性能才会随需工作。比如,提取哪些信息,请求什么网址等等。

咱得以进来前面的quotetutorial目录中,运行命令:scrapy genspider quotes quotes.toscrape.com,Scrapy遵照指令帮大家刻画好了一个Spider,在子目录spider中得以找到一个称为吧quotes.py的文件,打开查看:

Spider代码

咱俩拿代码改写如下:

import scrapy


class QuotesSpider(scrapy.Spider):
    name = "quotes"

    def start_requests(self):
        urls = [
            'http://quotes.toscrape.com/page/1/',
            'http://quotes.toscrape.com/page/2/',
        ]
        for url in urls:
            yield scrapy.Request(url=url, callback=self.parse)

    def parse(self, response):
        page = response.url.split("/")[-2]
        filename = 'quotes-%s.html' % page
        with open(filename, 'wb') as f:
            f.write(response.body)
        self.log('Saved file %s' % filename)

假诺你所显现,我们的Spider继承了scrapy.Spider,并且定义了一部分性能和章程。

  • name:标识了这Spider。在一个路遭到,每个Spider的名字务必是绝无仅有的。
  • start_requests():必须回到一个可迭代对象,比如一个告的列表或一个生成函数,Scrapy就是从这确定从哪起首爬取的。
  • parse():大家以这措施被拍卖发出请求后赶回的应,响应是TextResponse的实例。我们当这几个法子被取所要之音信,或者找到下一个进展爬取的链接。

固然无思然劳顿,也供采集的数额:https://pan.baidu.com/s/1pMAUr6V

运行爬虫

如何运作刚才大家已经勾勒好之斯小型爬虫呢?

我们可以于quotetutorial目录下,运行命令:scrapy crawl quotes,这长达命令将谋面运行刚刚我们写好之名为也quotes的爬虫,Scrapy会“机智地”帮咱发送请求!

运转结果

足见到,图备受生出成千上万出因此地音讯,比如要了多少坏,请求许节数等等。

查看quotetutorail目录:

基本上了有限个文本,正使代码所示!

末,“恬不知耻”地于个广告,在Github上建了一个爬虫学习类,近年来尚从未写了,感兴趣地同学可以去瞅瞅。地址如下:https://github.com/viljw/PythonSpider

以上。

下边就是从头展开小小的的辨析啦,

先是,导入要就此到的保险和数据:

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
df = pd.read_csv('douban.csv')

翻转:

df.head()

df.tail()

说好之TOP250也?那即将吐槽一下豆子电影TOP250了,有些链接已没因而了,竟然没有更新,比如说名次20底熔炉。

俺们吃该按豆瓣评分排序,并查阅排行前五底视频:

df.sort_values('豆瓣评分',ascending=False).head()

固然豆瓣评分超过9.5之,原来只是生星星点点管:

df[df['豆瓣评分']>9.5]

上榜次数最多之导演等:

df['导演'].value_counts()

重多分析,请参考:http://blog.csdn.net/yifei301/article/details/77529840?locationNum=3&fps=1

敏感如你,肯定做的于我还好!

小弟先行一步,补片去矣……

以上。

相关文章