简单的爬虫脚本编写

一、数据来源分析

想爬取一个网站的数据,我们首先要进行数据分析。通过浏览器F12开发者工具栏进行抓包,可以分析我们想要的数据来源。

通过关键字搜索,可以找到相对应的数据包

二、爬虫实现

需要用到的模块为:request,parsel

1.发送请求

模拟浏览器对于分析得到的URL地址发送请求,返回响应包

复制代码
url = 'https://example.com'
#浏览器F12查看网络,请求头中可以查看User-Agent,目的是实现浏览器标识,请求合法化
headers={'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:132.0) Gecko/20100101 Firefox/132.0'}
#使用request,将响应数据传入res变量
res = requests.get(url=url,headers=headers)

2.获取数据

获取响应的数据包

复制代码
#创建Selector对象后,你可以使用它来提取网页中的特定数据。例如,你可以使用XPath或CSS选择器来查找元素:
selector = parsel.Selector(res.text)

3.解析数据

解析数据内容,获取我们想要的内容。

创建Selector对象后,你可以使用它来提取网页中的特定数据。可以使用XPath或CSS选择器来查找元素

复制代码
trs = selector.css('CSS选择器')
        #遍历每一组数据
        for tr in trs:
                #获取每一行的第一个数据
                first = tr.css('td:nth-child(1)::text').get()
                #将每一个数据写插入列表
                example_list.append(first)

4.保存数据

将爬取下来的目标数据进行保存.

复制代码
with open('example.txt','w',encoding=utf-8') as f:
        for item in example.list:
            f.write(str(item) + '\n')

在使用with语句打开文件时,不需要显式调用f.close()来关闭文件。with语句会在代码块执行完毕后自动关闭文件。

相关推荐
一晌小贪欢1 小时前
Python 魔术方法实战:深度解析 Queue 模块的模块化设计与实现
开发语言·分布式·爬虫·python·python爬虫·爬虫分布式
qq_22589174664 小时前
基于Python+Django豆瓣图书数据可视化分析推荐系统 可视化 协同过滤算法 情感分析 爬虫
爬虫·python·算法·信息可视化·数据分析·django
小白学大数据4 小时前
链家二手房数据爬取、聚类分析与可视化展示实践
开发语言·爬虫·python
喵手4 小时前
Python爬虫零基础入门【第九章:实战项目教学·第11节】Playwright 入门实战:渲染后 HTML + 截图定位问题!
爬虫·python·爬虫实战·playwright·python爬虫工程化实战·零基础python爬虫教学·渲染html
深蓝电商API7 小时前
Selenium 截图与元素高亮定位技巧
爬虫·python·selenium
喵手20 小时前
Python爬虫零基础入门【第九章:实战项目教学·第1节】通用新闻采集器:从零打造可复用的静态站模板!
爬虫·python·爬虫实战·python爬虫工程化实战·零基础python爬虫教学·新闻采集器·静态站模版
嫂子的姐夫1 天前
25-jsl:gov公安(全扣补环境版)
爬虫·逆向·加速乐
喵手1 天前
Python爬虫零基础入门【第九章:实战项目教学·第2节】“接口优先“项目:从 Network 还原 JSON 接口分页!
爬虫·python·python爬虫实战·python爬虫工程化实战·python爬虫零基础入门·接口优先·json接口分页
喵手1 天前
Python爬虫零基础入门【第九章:实战项目教学·第8节】限速器进阶:令牌桶 + 动态降速(429/5xx)!
爬虫·python·令牌桶·python爬虫工程化实战·python爬虫零基础入门·限速器·动态降速
喵手1 天前
Python爬虫零基础入门【第九章:实战项目教学·第3节】通用清洗工具包:日期/金额/单位/空值(可复用)!
爬虫·python·python爬虫实战·python爬虫工程化实战·python爬虫零基础入门·通用清洗工具包·爬虫实战项目