爬虫实战-掌上高考网实战

'''
1.确定需求:
    爬取什么数据
    爬取大学名称
2.找到数据源地址
    数据在哪个链接中
    https://api.zjzw.cn/web/api/?keyword=&page=1&province_id=&ranktype=&request_type=1&size=20&top_school_id=[3703,2461,659,3117,597,1724]&type=&uri=apidata/api/gkv3/school/lists&signsafe=b6a400d702222a65bbc2fbd7d848933e
3.复制cURL(base)到https://curlconverter.com/拿到爬虫代码
4.解析出需要的数据
5.存储数据
    
'''
import requests
import json


headers = {
    "accept": "application/json, text/plain, */*",
    "accept-language": "zh-CN,zh;q=0.9",
    "content-type": "application/json",
    "origin": "https://www.gaokao.cn",
    "priority": "u=1, i",
    "referer": "https://www.gaokao.cn/",
    "sec-ch-ua": "\"Not/A)Brand\";v=\"8\", \"Chromium\";v=\"126\", \"Google Chrome\";v=\"126\"",
    "sec-ch-ua-mobile": "?0",
    "sec-ch-ua-platform": "\"Windows\"",
    "sec-fetch-dest": "empty",
    "sec-fetch-mode": "cors",
    "sec-fetch-site": "cross-site",
    "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36"
}
url = "https://api.zjzw.cn/web/api/"
params = {
    "keyword": "",
    "page": "1",
    "province_id": "",
    "ranktype": "",
    "request_type": "1",
    "size": "20",
    "top_school_id": "\\[3703,2461,659,3117,597,1724\\]",
    "type": "",
    "uri": "apidata/api/gkv3/school/lists",
    "signsafe": "b6a400d702222a65bbc2fbd7d848933e"
}
data = {
    "keyword": "",
    "page": 1,
    "province_id": "",
    "ranktype": "",
    "request_type": 1,
    "signsafe": "b6a400d702222a65bbc2fbd7d848933e",
    "size": 20,
    "top_school_id": "[3703,2461,659,3117,597,1724]",
    "type": "",
    "uri": "apidata/api/gkv3/school/lists"
}
a=[]
data = json.dumps(data, separators=(',', ':'))
response = requests.post(url, headers=headers, params=params, data=data).text #str
res=eval(response)
for i in res['data']['item']:
    a.append(i['name'])
    
    
with open('存储的文件名称.txt','w') as f:  #encoding='utf-8'
    for i in a:
        f.write(i+'\n')
print('程序运行结束')

配套视频icon-default.png?t=N7T8https://www.bilibili.com/video/BV1Vx4y1s73E/?share_source=copy_web&vd_source=9a94d4db7fa8a361a15f7c2717f048fd

爬虫(Web Crawler)是一种自动化程序,用于从互联网上收集信息。其主要功能是访问网页、提取数据并存储,以便后续分析或展示。爬虫通常由搜索引擎、数据挖掘工具、监测系统等应用于网络数据抓取的场景。 爬虫的工作流程包括以下几个关键步骤: URL收集: 爬虫从一个或多个初始URL开始,递归或迭代地发现新的URL,构建一个URL队列。这些URL可以通过链接分析、站点地图、搜索引擎等方式获取。 请求网页: 爬虫使用HTTP或其他协议向目标URL发起请求,获取网页的HTML内容。这通常通过HTTP请求库实现,如Python中的Requests库。 解析内容: 爬虫对获取的HTML进行解析,提取有用的信息。常用的解析工具有正则表达式、XPath、Beautiful Soup等。这些工具帮助爬虫定位和提取目标数据,如文本、图片、链接等。 数据存储: 爬虫将提取的数据存储到数据库、文件或其他存储介质中,以备后续分析或展示。常用的存储形式包括关系型数据库、NoSQL数据库、JSON文件等。 遵守规则: 为避免对网站造成过大负担或触发反爬虫机制,爬虫需要遵守网站的robots.txt协议,限制访问频率和深度,并模拟人类访问行为,如设置User-Agent。 反爬虫应对: 由于爬虫的存在,一些网站采取了反爬虫措施,如验证码、IP封锁等。爬虫工程师需要设计相应的策略来应对这些挑战。 爬虫在各个领域都有广泛的应用,包括搜索引擎索引、数据挖掘、价格监测、新闻聚合等。然而,使用爬虫需要遵守法律和伦理规范,尊重网站的使用政策,并确保对被访问网站的服务器负责。
掌上高考是一个提供高考信息和服务的平台要使用Python进行爬取,你可以使用requests库发送HTTP请求获取页面内容,然后使用BeautifulSoup库解析页面数据。 以下是一个简单的示例代码: ``` import requests from bs4 import BeautifulSoup def get_zsgk_data(): url = 'http://www.zhongshanggaokao.com/' headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'} response = requests.get(url, headers=headers) if response.status_code == 200: soup = BeautifulSoup(response.text, 'html.parser') # 在这里使用BeautifulSoup提取你需要的数据 # 例如,你可以使用find、find_all方法来找到特定的标签或选择器来提取数据 # 示例:提取新闻标题 news_titles = soup.select('.news-title') for title in news_titles: print(title.text) else: print('请求失败') get_zsgk_data() ``` 这个示例代码可以帮助你开始爬取掌上高考的数据,但具体的数据提取需要根据页面结构和你的需求进行相应的调整。你可以通过查看页面源代码和使用开发者工具来帮助你定位需要提取的数据。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [用Python展示全国高校的分布情况](https://blog.csdn.net/csdn1561168266/article/details/126216195)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值