当前位置: 首页 > article >正文

目标驱动学习python动力

文章目录

  • 迟迟未开始的原因
  • 打破思维里的围墙
  • 抛砖引玉
    • 爬虫
  • 结束词

迟迟未开始的原因

其实我也是很早就知道有python,当时听说这个用于做测试不错,也就一直没有提起兴趣,后来人工智能火了之后,再次接触python,安装好python环境,下载好编辑软件PyCharm,然后写下了第一行输出“hello world”。。。后来枯燥的学习语法过程中被其他事情打断了,也就把这件事给落下了。
我觉得很多人学习东西都可能进入这种怪圈,不管是九年义务教育从基础学起,还是一些前辈苦口婆心的告诉你说基础很重要,就行盖房子的地基,一定要牢固,所以也有很多人想我一样一头就埋进了语法的基础学习中,枯燥无味,极度挑战耐心。

打破思维里的围墙

在互联网刚兴起的时候,就流传一句话,只要学点皮毛,就能在IT圈找到工作,后来再慢慢学。
其实这句话是有点道理,目标驱动了学习的动力,学到一些皮毛后,不断深入学习,慢慢成长,看似有点拔苗助长,基础不牢固,那么想想,如果这个学点皮毛的同学,到了公司后,接收的需求里包含了某一个技术点自己没有学过,是否就开始请教其他同学或者是自己到csdn等网站搜索知识,然后补充回来,或者当这位同学的代码没有考虑到高并发场景,面对领导的点名,是否心里默默记住并回家恶补一番。
打破思维里的围墙,直接上手最有用的技术,先模仿,后自创,优先把握关键皮毛,然后收集其他皮毛,最后发现没有皮毛可以收集了,就已经算是行业里的准专业人士了。

抛砖引玉

我来抛个砖,python比较有趣的应该是爬虫、数据分析和自动化。下面抛爬虫砖

爬虫

爬虫分页面爬虫和接口爬虫,接口爬虫容易遇到反爬虫问题,页面爬虫模拟浏览器行为,比较不容易反爬虫。不管是页面爬虫还是接口爬虫,都需要请求,所以第一个接触的是requests。
页面爬虫需要分析得到的html文件,BeautifulSoup就是处理这个的,名字特别好,翻译过来就是美味汤。这样最简单的爬虫就完成了。

import requests
from bs4 import BeautifulSoup
import json 

if __name__ == "__main__":
	self.base_url = "http://xzqh.mca.gov.cn"
	# 看着很多,其实抄来的,不一定了,反正ctrl+v
	self.headers = {
		'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36',
		'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7',
		'Accept-Language': 'zh-CN,zh;q=0.9,en;q=0.8',
		'Accept-Encoding': 'gzip, deflate, br',
		'Connection': 'keep-alive',
		'Upgrade-Insecure-Requests': '1',
		'Sec-Fetch-Dest': 'document',
		'Sec-Fetch-Mode': 'navigate',
		'Sec-Fetch-Site': 'none',
		'Sec-Fetch-User': '?1',
		'Cache-Control': 'max-age=0',
        }
	# 1. 获取并解析页面中的省级数据
	response = requests.Session().get(f"{self.base_url}/map",headers=self.headers,timeout=10,verify=True)
	response.encoding = 'gbk'  # 设置正确的编码
            
	# form表单格式为:<form name="fsform"><table class="select_table"><tr><td><input type="hidden" id="pyArr" value="具体内容"></td></tr></table></form>
	soup = BeautifulSoup(response.text, 'html.parser')
	form = soup.find('form', {'name': 'fsform'})
	if form:
		input_data = form.find('input', {'id': 'pyArr'})
		if input_data:
			json_data =  input_data.get('value')
		else:
			print("未找到input标签")
	else:
		print("未找到form表单")

	if json_data:
		info_array = json.loads(json_data)
		print(info_array)
	else:
		print("未找到数据")

结束词

看完是不是感觉挺简单的,实践过程如果遇到报错,直接丢网上查查就知道答案,祝各位道友顺利!


http://www.kler.cn/a/404626.html

相关文章:

  • 2024年亚太数学建模竞赛问题C宠物产业及相关产业发展分析与对策
  • Easyexcel(1-注解使用)
  • shell--第一次作业
  • Win11下载和配置VSCode(详细讲解)
  • 【每日 C/C++ 问题】
  • 卫生间门选择单包套还是双包套好?
  • MySQL创建和管理触发器
  • (附项目源码)Java开发语言,215 springboot 大学生爱心互助代购网站,计算机毕设程序开发+文案(LW+PPT)
  • 常用命令集
  • vue2中引入cesium全步骤
  • MongoDB调优利器:掌握性能分析工具mongostat
  • 字节跳动青训营刷题笔记14
  • Spark 分布式计算中网络传输和序列化的关系(二)
  • leetcode - 2516. Take K of Each Character From Left and Right
  • 2024年亚太C题第二版本二问题1求解过程+代码运行以及问题2-4超详细思路分析
  • 第三百三十节 Java网络教程 - Java网络UDP服务器
  • uni-app快速入门(十)--常用内置组件(下)
  • 查看docker日志 journalctl -u docker.service
  • Modern Effective C++ Item 11:优先考虑使用deleted函数而非使用未定义的私有声明
  • Webserver回顾
  • 【AI知识】两类最主流AI应用(文生图、ChatGPT)中的目标函数
  • React第五节 组件三大属性之 props 用法详解
  • ts: 定义一个对象接收后端返回对象数据,但是报错了有红色的红线为什么
  • 安全测试必学神器 --BurpSuite 安装及使用实操
  • Go 工具链详解(八):go telemetry
  • Wallpaper壁纸制作学习记录05