当前位置:首页 > CN2资讯 > 正文内容

python网站怎么部署到windows2012

23小时前CN2资讯


不知道这里有多少球迷,又有多少人知道“懂球帝”这个网站,今天我们的爬虫目标就是“懂球帝”的女神大会板块,开始吧。

老规矩,还是先给出代码:

数据爬取

获取 ID 信息

首先我们可以通过抓取懂球帝 App 的网络请求,拿到一个 API(具体如何做 App 抓包,可以在网络上查询下):

http://api.dongqiudi.com/search?keywords=type=all&page=

我们使用 Postman,来查看下该 API 的返回数据是怎样的:


可以看到,通过键入不同的 keywords,API 可以返回不同的信息,我们通过搜索“女神大会”,并从返回结果中获取 ID、URL 和 thumb 即可。

ID 后面用来拼接女神所在页面的 HTML 地址;而 thumb 则是女神的封面照片,收藏吧。

接下来,我们就可以根据该 API 的请求和响应,写一个抓取全部女神信息的函数:

def get_list(page): nvshen_id_list = [] nvshen_id_picture = [] for i in range(1, page): print("获取第" + str(i) + "页数据") url = 'http://api.dongqiudi.com/search?keywords=%E5%A5%B3%E7%A5%9E%E5%A4%A7%E4%BC%9A&type=all&page=' + str(i) html = requests.get(url=url).text news = json.loads(html)['news'] if len(news) == 0: print("没有更多啦") break nvshen_id = [k['id'] for k in news] nvshen_id_list = nvshen_id_list + nvshen_id nvshen_id_picture = nvshen_id_picture + [{k['id']: k['thumb']} for k in news] time.sleep(1) return nvshen_id_list, nvshen_id_picture

代码还是比较简单的,循环请求 API 地址,并把 ID 和 thumb 保存到列表当中。

下载 HTML 页面

下面我们打开“懂球帝”网站,可以看出,每一个页面,都是由如下规律的页面组成的:

http://www.dongqiudi.com/news/****

而 news 后面接的就是我们上一步拿到的 ID 信息,比如我们拿到“刘岩”的 ID 为 813611,那么访问地址:

http://www.dongqiudi.com/news/813611

我们就来到了刘岩所在的页面。

并且,每个页面都会有前一期女神的得分情况,这个也是我们要关注的。

现在我们已经知道了网页地址的组成规律,那么就可以写函数,来下载网页到本地了。

def download_page(nvshen_id_list): for i in nvshen_id_list: print("正在下载ID为" + i + "的HTML网页") url = 'https://www.dongqiudi.com/news/%s' % i download = DownloadPage() html = download.getHtml(url) download.saveHtml(i, html) time.sleep(2) class DownloadPage(object): def getHtml(self, url): html = requests.get(url=url, cookies=config.session, headers=config.header).content return html def saveHtml(self, file_name, file_content): with open('html_page/' + file_name + '.html', 'wb') as f: f.write(file_content)

download_page 函数接收一个列表(就是上一个函数的返回值 nvshen_id_list),通过 requests 库来请求页面并保存至本地。同时为了方式请求过于频繁,做了 2 秒的延时等待设置。

这里还要注意一点的是,这里是设置了 cookies 和 headers 的,否则是无法拿到正常 HTML 数据的。

cookies 和 headers 配置如下:

    你可能想看:

    扫描二维码推送至手机访问。

    版权声明:本文由皇冠云发布,如需转载请注明出处。

    本文链接:https://www.idchg.com/info/32602.html

    分享给朋友:

    “python网站怎么部署到windows2012” 的相关文章

    JustHost评测:高性价比VPS服务的最佳选择

    JustHost是一家成立于2006年的俄罗斯主机商。多年来,它在VPS和服务器租用方面积累了相当的声誉,并建立了一个庞大的客户群体。刚开始时,它的目标是帮助用户实现更灵活、高效的网络解决方案,逐渐扩展到如今的多种服务提供。无论你是中小企业还是个人用户,JustHost的产品都能满足不同层次的需求。...

    如何优雅退出ping -t命令:实用技巧与方法指南

    在当今的网络世界里,许多人时常需要检查网络连通性。这个时候,'ping'命令就显得非常实用。简单来说,'ping'命令的主要作用是检测与特定目标主机之间的连接状态。通过发送ICMP回显请求,它可以告诉我们目标设备是否可达,延迟情况如何等信息。 在众多的‘ping’命令中,‘ping -t’是特别常用...

    恒创科技:引领数据中心与网络安全解决方案的先锋

    恒创科技这个名字,对于熟悉科技行业的人来说,或许并不陌生。它是一个多元化的品牌,涉及数据中心、网络安全、软件开发和智慧城市解决方案等多个领域。我对这家公司一直抱有浓厚的兴趣,因为它所提供的服务非常全面,能够满足不同行业的需求。 在我看来,恒创科技一直努力将最先进的技术应用于实际场景中,尤其是在互联网...

    如何开启BBR查询并提升TCP网络性能

    BBR(Bottleneck Bandwidth and Round-trip propagation time)是一种由Google开发的TCP拥塞控制算法,我对它的了解让我感到非常兴奋。BBR旨在通过精确的网络条件监测,以提高传输速度和稳定性。传统的拥塞控制算法往往依赖于丢包率的变化来调整传输速...

    域名购买推荐:如何选择最适合你的域名注册商

    域名购买推荐概述 在互联网时代,域名显得尤为重要。对于个人用户、企业甚至是初创团队来说,域名不仅是网站的门面,更是品牌形象和业务宣传的基石。记得我第一次建立网站时,选择一个合适的域名让我意识到它的价值。一个容易记住、与品牌相关的域名可以有效吸引流量,提升访问者的信任感。 在选购域名时,有几点基本原则...

    全面了解Amazon CDN CloudFront:快速、安全的内容分发网络服务

    在互联网的快速发展中,内容分发网络(CDN)成为确保网站速度和性能的重要保证。CDN是通过在全球各地的多个服务器上缓存和分发内容,以最短的路径将数据传送给用户。这样做不仅加快了加载速度,还提高了用户体验。通过保存内容的副本在离用户更近的地点,CDN能够显著降低网络延迟。 而Amazon CloudF...