☘前言☘
读完这篇博客,你可以学到什么?
python的基础语法(适合c转python)
excel的读取和写入方式
基本的爬虫定位方法
python的安装(这个很容易的)
基本的环境配置(这个基本上不用配置)
这篇博客里,我将带领大家手撕第一个python的爬虫小程序,不用担心,都是从基础知识开始的。当你学完这篇博客就可以解放双手让python干费时费力的事情去吧!
全文大约阅读时间: 20min
🧑🏻作者简介:一个从工业设计改行学嵌入式的年轻人
✨联系方式:2201891280(QQ)
主要内容
☘前言☘
一、必备的一些基础知识
1. 创建变量
2. 循环
3. 判断
二、必备的一些库文件
time
pandas
openpyxl
selenium
三、网站元素定位
确定元素
网络延迟
五、最终成果
六、写在最后
一、必备的一些基础知识
python作为一个弱类型的语言,很多方面和c会有大的出入,在学习之前需要对这些基础语法有个基础了解。首先是python没有;哦,一个回车就代表一句结束
1. 创建变量
num = 10 #创建一个变量 ws = wb['Sheet1'] ##根据wb中的'Sheet'元素类型创建变量
是不是很简单?需要什么直接写名字赋值就好了0.0
2. 循环
for lie in df.index.values: driver.get(lie) submitTag = driver.find_elements_by_xpath('//*[text()="解决问题"]/../b') wb.save(r'111.xlsx')#循环外的语句
这个和c有亿点点区别,python特别注意缩进,还是有助于改进一些人的代码习惯的,缩进打得好能大大提升代码的可读性。
这里就是遍历df.index.values中所有的元素,然后进行操作,只要是有一个缩进的都是for循环体内的语句!
只有最后一句不在循环体内。
3. 判断
if(len(submitTag) != 0): break else continue
看完循环的话这个很好理解吧,一样的,都是相同缩进是一个循环或者判断体内的。
二、必备的一些库文件
python最伟大的地方就是有很多第三方库可以选择,有很多造好的轮子。我们只要使用就好了-.-
根据我们这次需要做的事情 我们引入了四个库文件
其中需要安装库文件的话可以在命令提示行下面的命令。其中xxx就是下面的标题名字
pip intsall xxx #一般这个就行 pip3 intsall xxx #不行试试这个
time
这个库顾名思义就是和时间相关的。我们需要的只是做个延时,所以我们只需要他的一点点功能。先导入功能
from time import sleep
这就是最常见的导入方式 ,我们只需要sleep就只导入功能就好了。
用法也很简单
sleep(3)
完事了?简单不。功能就是休息3s
pandas
Pandas 的主要数据结构是 Series (一维数据)与 DataFrame(二维数据),这两种数据结构足以处理金融、统计、社会科学、工程等领域里的大多数典型用例。
华丽呼哨的 咱也看不懂,反正我就用来打开excel的某一列。
老规矩,先导入
import pandas as pd
这次换个方式,我们把它导入,然后给他换个名字。(⊙o⊙)
用法也不难其实 . 有点借鉴c++,就是调用相应的方法。
df = pd.read_excel('111.xlsx',index_col='LeetCode地址')
这样我们就成功把名字叫做LeetCode地址的一列读进来了。
openpyxl
其实这个才是专门处理excel的,但是读入我用了pandas也不想改了。这个我用来保存读到的数据。
import openpyxl
这次我们不改名直接调用
用法也不难,我主要用下面的几个
wb=openpyxl.load_workbook(r'111.xlsx')#载入exlce数据 ws = wb['Sheet1'] #令ws为数据表1 ws.cell(row = i+1, column = num).value = distance#写入第i+1行第num行的值distance wb.save(r'111.xlsx') #保存wb的更改
这样我们就完成修改对应的值并保存了。
selenium
这个是用来抓数据的 其实主要用来测试的,但是这次我们拿来用用
from selenium import webdriver
导入其中的webdriver方法 我们用到的主要是里面的方法
driver = webdriver.Chrome()#打开chrome浏览器 driver.get(lie)#打开对应的网址 submitTag = driver.find_elements_by_xpath('//*[text()="解决问题"]/../b')
上面的三句话分别对应我们打开浏览器,输入网址 找到数据。
注:这个需要安装selenium和chrome 具体可以参考这个Selenium安装教程