1、我们是不是要去获取这些数据《和平精英》武器配件 (爬虫部分) 首先:对于 武器一个详情页url地址发送请求, 获取 每个武器的url地址 其次:对于 每个武器的url地址发送请求 然后获取每个武器的一些基本信息
2、爬虫代码实现思路
- 发送请求
url 唯一资源定位 请求头 headers 字典形式 请求体 注意点: headers参数问题 请求方式:get请求 / post请求 2. 获取数据
遇到到反爬怎么办,遇到加密怎么办: 字体加密、JS加密、动态数据网页参数变化怎么找,在哪找 response.text:获取网页的文本数据、字符串 json() :json字典数据怎么取值? 根据键值对取值 content 状态码
- 解析数据
方式很多种:
正则表达式 re bs4 xpath parsel (css选择器/xpath)
- 保存数据 (只要打印输入就可以了)
保存文本 保存json 保存数据库: 非关系型数据库 关系型数据库 开始敲代码 需要爬取的数据:武器、配件、物资、载具
在发送请求之前是不是需要加一个请求头 请求头: 把python代码伪装成浏览器对服务器发送一个请求 然后服务器就会给我们返回一个response数据 user-agent :浏览器信息
import requests # 第三方模块
headers = {
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.93 Safari/537.36'
}
response = requests.get(url=html_url, headers=headers)
先爬取解析武器的数据,优缺点、武器的伤害都全部爬取下来
def get_arms_info():
url = 'https://gp.qq.com/cp/a20190522gamedata/pc_list.shtml'
response = get_response(html_url=url)
selector = parsel.Selector(response.text)
# css选择器 就根据标签属性提取相关内容
href = selector.css('#section-container .clear li a::attr(href)').getall()
titles = selector.css('#section-container .clear li a::attr(title)').getall()
# 通常我们要获取一个列表里面 每个元素 是不是要通过遍历 for循环
zip_data = zip(href, titles)
lis = []
for index in zip_data:
dit = {
'物品名称': index[1],
'详情页': index[0]
}
lis.append(dit)
pd_data = pd.DataFrame(lis)
pd.set_option('display.max_columns', None)
print(pd_data)
arms_num = input('请输入你要查询的武器序号: ')
if int(arms_num)
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?