【从零开始的python生活①】手撕爬虫扒一扒力扣的用户刷题数据(1)

简介: 【从零开始的python生活①】手撕爬虫扒一扒力扣的用户刷题数据(1)

☘前言☘

读完这篇博客,你可以学到什么?


python的基础语法(适合c转python)

excel的读取和写入方式

基本的爬虫定位方法

python的安装(这个很容易的)

基本的环境配置(这个基本上不用配置)

   9a86513f24ed77047ff3b9bc92c8d6d.png


这篇博客里,我将带领大家手撕第一个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安装教程

相关文章
|
7天前
|
数据采集 Web App开发 自然语言处理
新闻热点一目了然:Python爬虫数据可视化
新闻热点一目了然:Python爬虫数据可视化
|
2月前
|
机器学习/深度学习 新能源 调度
电力系统短期负荷预测(Python代码+数据+详细文章讲解)
电力系统短期负荷预测(Python代码+数据+详细文章讲解)
201 1
|
2月前
|
缓存 API 网络架构
淘宝item_search_similar - 搜索相似的商品API接口,用python返回数据
淘宝联盟开放平台中,可通过“物料优选接口”(taobao.tbk.dg.optimus.material)实现“搜索相似商品”功能。该接口支持根据商品 ID 获取相似推荐商品,并返回商品信息、价格、优惠等数据,适用于商品推荐、比价等场景。本文提供基于 Python 的实现示例,包含接口调用、数据解析及结果展示。使用时需配置淘宝联盟的 appkey、appsecret 和 adzone_id,并注意接口调用频率限制和使用规范。
|
1月前
|
存储 监控 API
Python实战:跨平台电商数据聚合系统的技术实现
本文介绍如何通过标准化API调用协议,实现淘宝、京东、拼多多等电商平台的商品数据自动化采集、清洗与存储。内容涵盖技术架构设计、Python代码示例及高阶应用(如价格监控系统),提供可直接落地的技术方案,帮助开发者解决多平台数据同步难题。
|
1月前
|
存储 JSON 算法
Python集合:高效处理无序唯一数据的利器
Python集合是一种高效的数据结构,具备自动去重、快速成员检测和无序性等特点,适用于数据去重、集合运算和性能优化等场景。本文通过实例详解其用法与技巧。
96 0
|
17天前
|
JSON API 数据安全/隐私保护
Python采集淘宝评论API接口及JSON数据返回全流程指南
Python采集淘宝评论API接口及JSON数据返回全流程指南
|
19天前
|
数据采集 数据可视化 关系型数据库
基于python大数据的电影数据可视化分析系统
电影分析与可视化平台顺应电影产业数字化趋势,整合大数据处理、人工智能与Web技术,实现电影数据的采集、分析与可视化展示。平台支持票房、评分、观众行为等多维度分析,助力行业洞察与决策,同时提供互动界面,增强观众对电影文化的理解。技术上依托Python、MySQL、Flask、HTML等构建,融合数据采集与AI分析,提升电影行业的数据应用能力。
|
19天前
|
数据采集 Web App开发 前端开发
处理动态Token:Python爬虫应对AJAX授权请求的策略
处理动态Token:Python爬虫应对AJAX授权请求的策略
|
19天前
|
数据采集 网络协议 API
协程+连接池:高并发Python爬虫的底层优化逻辑
协程+连接池:高并发Python爬虫的底层优化逻辑
|
2月前
|
JSON 安全 API
Python处理JSON数据的最佳实践:从基础到进阶的实用指南
JSON作为数据交换通用格式,广泛应用于Web开发与API交互。本文详解Python处理JSON的10个关键实践,涵盖序列化、复杂结构处理、性能优化与安全编程,助开发者高效应对各类JSON数据挑战。
146 1

推荐镜像

更多