前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python应用 | 我喜欢看什么美剧(一)

Python应用 | 我喜欢看什么美剧(一)

作者头像
算法与编程之美
发布2019-07-30 16:05:46
5180
发布2019-07-30 16:05:46
举报
文章被收录于专栏:算法与编程之美

《权利的游戏》、《天赋异禀》等耳熟能详的美剧,面对如此繁多的美剧,此时不禁会问自己,我喜欢看什么美剧呢?

这是一个非常难以回答的问题,原因在于不同的人会有不同的偏好。为了简化问题的求解,我们将尝试用Python语言进行数据分析来回答"我喜欢看什么美剧",先限定下主题就是我自己。

为了搞明白我喜欢看什么美剧,前提是要知道目前有哪些美剧,然后才能在这些美剧中根据条件筛选出我喜欢看的。所以第一件事要做的就是采集基本的数据。

Python实现数据采集需要用到的第三方库有requests和bs4,其中requests用来处理HTTP请求,bs4中的BeautifulSoup用来解析下载的HTML代码从中得到想要的数据。

1. 安装第三方库。

利用包管理软件pip来完成第三方库的安装。

代码语言:javascript
复制
pip install requests
pip install bs4

2. 利用requests库下载HTML代码。

requsts库是一种非常方便的处理HTTP请求的第三方库,只需要一行代码就可以实现HTML网页的下载。

代码语言:javascript
复制
html = requests.get('https://www.meiju.net/search.php?searchtype=5&tid=2', verify=False).content

代码执行的结果是:

打印的就是返回的HTML代码。

3. 利用BeautifulSoup解析HTML。

有了网页的HTML代码接下来就需要从这些代码中提取需要的、有价值的信息,这个工具就是BeautifulSoup来完成。我们将从代码中提取到美剧名称、URL地址以及评分数据。

代码语言:javascript
复制
soup = BeautifulSoup(html, 'html.parser')
for item in soup.select('div.hy-video-list li > a'):
    row = edict()
    row.video_name = item['title']
    row.video_url = item['href']
    row.video_type =  i

    score_tag = item.select_one('span.score')
    if score_tag is not None:
        row.video_score = score_tag.text
    
    print(row)

执行结果为:

4. 批处理所有列表。

前面处理的是一页的列表,接下来利用循环处理所有的列表数据。

代码语言:javascript
复制
for i in tqdm(range(1, 112)):
    url = 'https://www.meiju.net/search.php?page={}&searchtype=5&tid=2'.format(i)
    soup = BeautifulSoup(requests.get(url, verify=False).content, 'html.parser')
    for item in soup.select('div.hy-video-list li > a'):
        row = edict()
        row.video_name = item['title']
        row.video_url = item['href']

        score_tag = item.select_one('span.score')
        if score_tag is not None:
            row.video_score = score_tag.text
        
        print(row)

至此便完成了网站所有美剧数据的采集,总共有美剧数量3972部。

结语

为了搞清楚"我喜欢看什么美剧"这一重大问题,提出了一种利用Python编程语言进行数据分析的方法,本文主要完成了数据分析的第一步数据采集的过程,采集了某网站所有的美剧基本信息,上面的代码可以看到目前这些数据都只是通过简单的print(row)的方式进行打印,并未进行任何数据保存,那么应该如何存储这些数据呢?

预知后事如何,欢迎持续关注。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-07-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 算法与编程之美 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档