使用python爬取数据的简单介绍

本文目录一览:

怎样用python爬取疫情数据

import requests

from bs4 import BeautifulSoup

import re

import json

# 1.发送请求,获取疫情首页(数据来源于丁香园)

response = requests.get(”)

home_page = response.content.decode()

# 2.从疫情首页提取最近一日数据

soup = BeautifulSoup(home_page, ‘lxml’)

script = soup.find(id=’getAreaStat’)

text = script.string

# 3.提取数据获取json格式数据

json_str = re.findall(r’\[.+\]’, text)[0]

# 4.把json格式转换为python类型

last_day_corona_virus = json.loads(json_str)

# 5.以json格式保存最近一日数据

with open(‘data/last_day_coronavirus.json’, ‘w’) as fp:

json.dump(last_day_corona_virus, fp, ensure_ascii=False)

python爬虫可以做什么

1、收集数据

Python爬虫程序可用于收集数据,这是最直接和最常用的方法。由于爬虫程序是一个程序,程序运行得非常快,不会因为重复的事情而感到疲倦,因此使用爬虫程序获取大量数据变得非常简单、快速。

2、数据储存

Python爬虫可以将从各个网站收集的数据存入原始页面数据库。其中的页面数据与用户浏览器得到的HTML是完全一样的。注意:搜索引擎蜘蛛在抓取页面时,也做一定的重复内容检测,一旦遇到访问权限很低的网站上有大量抄袭、采集或者复制的内容,很可能就不再爬行。

3、网页预处理

Python爬虫可以将爬虫抓取回来的页面,进行各种步骤的预处理。比如提取文字、中文分词、消除噪音、索引处理、特殊文字处理等。

4、提供检索服务、网站排名

Python爬虫在对信息进行组织和处理之后,为用户提供关键字检索服务,将用户检索相关的信息展示给用户。同时可以根据页面的PageRank

值来进行网站排名,这样Rank值高的网站在搜索结果中会排名较前,当然也可以直接使用Money购买搜索引擎网站排名。

5、科学研究

在线人类行为、在线社群演化、人类动力学研究、计量社会学、复杂网络、数据挖掘等领域的实证研究都需要大量数据,Python爬虫是收集相关数据的利器。

python爬虫—爬取LOL云顶之弈数据

本来是想爬取之后作最佳羁绊组合推算,但是遇到知识点无法消化(知识图谱),所以暂时先不组合了,实力有限

库的安装

1.requests  #爬取棋子数据

2.json  #棋子数据为js动态,需使用json解析

3.BeautifulSoup

实战前先新建个lol文件夹作为工作目录,并创建子目录data,用于存放数据。

1.爬取数据,新建个py文件,用于爬取云顶数据,命名为data.py

1.1定义个req函数,方便读取。//需设定编码格式,否则会出现乱码

def Re_data(url):

re = requests.get(url)

re.encoding = ‘gbk’

data = json.loads(re.text)

return data[‘data’]

1.2定义个Get函数,用于读取数据并使用保存函数进行保存数据,保存格式为json。

def Get_data():

# 获取数据并保存至data目录

base_url = ”

chess = Re_data(base_url + ‘chess.js’)

race = Re_data(base_url + ‘race.js’)

job = Re_data(base_url + ‘job.js’)

equip = Re_data(base_url + ‘equip.js’)

Save_data(chess,race,job,equip)

1.3定义save函数实现读取的数据进行文件保存,保存目录为工作目录下的data文件夹。

def Save_data(t_chess,t_race,t_job,t_equip):

with open(‘./data/chess.json’,’w’) as f:

json.dump(t_chess,f,indent=’\t’)

with open(‘./data/race.json’,’w’) as f:

json.dump(t_race,f,indent=’\t’)

with open(‘./data/job.json’,’w’) as f:

json.dump(t_job,f,indent=’\t’)

with open(‘./data/equip.json’,’w’) as f:

json.dump(t_equip,f,indent=’\t’)

1.4定义主函数main跑起来

if __name__ == ‘__main__’:

start = time.time()

Get_data()

print(‘运行时间:’ + str(time.time() – start) + ‘秒’)

至此,数据爬取完成。

2.种族和职业进行组合。

2.1未完成 //未完成,使用穷举方法进行组合会出现内存不够导致组合失败(for循环嵌套导致数组内存超限)

//待学习,使用知识图谱建立组合优选,可参考:

期间遇到的问题:

1.爬取棋子数据时为动态js加载,需通过json模块的loads方法获取

2.3层for循环嵌套数据量大,导致计算失败,需优化计算方法。

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/280337.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-12-21 13:03
下一篇 2024-12-21 13:03

相关推荐

  • 如何查看Anaconda中Python路径

    对Anaconda中Python路径即conda环境的查看进行详细的阐述。 一、使用命令行查看 1、在Windows系统中,可以使用命令提示符(cmd)或者Anaconda Pro…

    编程 2025-04-29
  • Python中引入上一级目录中函数

    Python中经常需要调用其他文件夹中的模块或函数,其中一个常见的操作是引入上一级目录中的函数。在此,我们将从多个角度详细解释如何在Python中引入上一级目录的函数。 一、加入环…

    编程 2025-04-29
  • Python列表中负数的个数

    Python列表是一个有序的集合,可以存储多个不同类型的元素。而负数是指小于0的整数。在Python列表中,我们想要找到负数的个数,可以通过以下几个方面进行实现。 一、使用循环遍历…

    编程 2025-04-29
  • Python计算阳历日期对应周几

    本文介绍如何通过Python计算任意阳历日期对应周几。 一、获取日期 获取日期可以通过Python内置的模块datetime实现,示例代码如下: from datetime imp…

    编程 2025-04-29
  • Python周杰伦代码用法介绍

    本文将从多个方面对Python周杰伦代码进行详细的阐述。 一、代码介绍 from urllib.request import urlopen from bs4 import Bea…

    编程 2025-04-29
  • Python字典去重复工具

    使用Python语言编写字典去重复工具,可帮助用户快速去重复。 一、字典去重复工具的需求 在使用Python编写程序时,我们经常需要处理数据文件,其中包含了大量的重复数据。为了方便…

    编程 2025-04-29
  • 蝴蝶优化算法Python版

    蝴蝶优化算法是一种基于仿生学的优化算法,模仿自然界中的蝴蝶进行搜索。它可以应用于多个领域的优化问题,包括数学优化、工程问题、机器学习等。本文将从多个方面对蝴蝶优化算法Python版…

    编程 2025-04-29
  • python强行终止程序快捷键

    本文将从多个方面对python强行终止程序快捷键进行详细阐述,并提供相应代码示例。 一、Ctrl+C快捷键 Ctrl+C快捷键是在终端中经常用来强行终止运行的程序。当你在终端中运行…

    编程 2025-04-29
  • Python清华镜像下载

    Python清华镜像是一个高质量的Python开发资源镜像站,提供了Python及其相关的开发工具、框架和文档的下载服务。本文将从以下几个方面对Python清华镜像下载进行详细的阐…

    编程 2025-04-29
  • Python程序需要编译才能执行

    Python 被广泛应用于数据分析、人工智能、科学计算等领域,它的灵活性和简单易学的性质使得越来越多的人喜欢使用 Python 进行编程。然而,在 Python 中程序执行的方式不…

    编程 2025-04-29

发表回复

登录后才能评论