Python应用"/>
Python应用
欢迎点击「算法与编程之美」↑关注我们!
本文首发于微信公众号:"算法与编程之美",欢迎关注,及时了解更多此系列文章。
《权利的游戏》、《天赋异禀》等耳熟能详的美剧,面对如此繁多的美剧,此时不禁会问自己,我喜欢看什么美剧呢?
这是一个非常难以回答的问题,原因在于不同的人会有不同的偏好。为了简化问题的求解,我们将尝试用Python语言进行数据分析来回答"我喜欢看什么美剧",先限定下主题就是我自己。
为了搞明白我喜欢看什么美剧,前提是要知道目前有哪些美剧,然后才能在这些美剧中根据条件筛选出我喜欢看的。所以第一件事要做的就是采集基本的数据。
Python实现数据采集需要用到的第三方库有requests和bs4,其中requests用来处理HTTP请求,bs4中的BeautifulSoup用来解析下载的HTML代码从中得到想要的数据。
1. 安装第三方库。
利用包管理软件pip来完成第三方库的安装。
pip install requests
pip install bs4
2. 利用requests库下载HTML代码。
requsts库是一种非常方便的处理HTTP请求的第三方库,只需要一行代码就可以实现HTML网页的下载。html = requests.get('.php?searchtype=5&tid=2', verify=False).content
代码执行的结果是: 打印的就是返回的HTML代码。 3. 利用BeautifulSoup解析HTML。
有了网页的HTML代码接下来就需要从这些代码中提取需要的、有价值的信息,这个工具就是BeautifulSoup来完成。我们将从代码中提取到美剧名称、URL地址以及评分数据。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. 批处理所有列表。
前面处理的是一页的列表,接下来利用循环处理所有的列表数据。for i in tqdm(range(1, 112)): url = '.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)的方式进行打印,并未进行任何数据保存,那么应该如何存储这些数据呢?预知后事如何,欢迎持续关注。
where2go 团队
微信号:算法与编程之美
一个专注于分享算法思想的公众号!
温馨提示:点击页面下方“留言”发表评论,期待您的参与!期待您的转发!
更多推荐
Python应用
发布评论