python 爬虫入门示例

news/2024/11/30 0:48:36/

目录

  • 一、安装 requests 模块
  • 二、发送请求,获取json字符串响应
  • 三、发送请求,获取 html 网页并解析获取文本

一、安装 requests 模块

pip install requests

二、发送请求,获取json字符串响应

爬取接口示例,这里以 Get 请求为例,这里请求的接口会返回一个 JSON 字符串。

import requests
import jsonurl = 'https://blog.csdn.net/community/home-api/v1/get-business-list'
headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36"
}
data = {"page": "1","size": "20","businessType": "lately","noMore": "false","username": "qq_33697094"
}
# 发送get请求(如果是post请求,使用requests.post)
result = requests.get(url, headers=headers, params=data)
# 使用 result.content.decode 获取该接口返回的json字符串或者html页面为
responseStr = result.content.decode('utf-8')
# 将接口返回的json字符转为字典
dic = json.loads(responseStr)titles = []
for item in dic["data"]["list"]:titles.append(item["title"])
print(titles)

若接口返回的是 json 字符串,也可以像下面这样,直接使用 result.json() 接收接口返回的数据为字典。

# 发送请求
result = requests.get(url, headers=headers, params=data)
# 获取结果为字典(json对象)
dic = result.json()

三、发送请求,获取 html 网页并解析获取文本

上面的示例是发送一个请求,该请求返回的一个json字符串。有时候我们是想获取某个网址链接页面下的数据,比如某个 ur l 它返回的不是一个json字符串,它是由多个请求和数据组成的一个网页,这个时候可以使用 BeautifulSoup 或 lxml 库去解析 html 然后获取想要的数据。

BeautifulSoup 和 lxml 库都是解析 html 的库,lxml 解析器更加强大,速度更快,它可以方便的解析 html 和 xml ,推荐使用 lxml 解析器。

安装 lxml 模块

pip install lxml

从返回的 html 解析数据示例

import requests
from lxml import htmlurl = 'https://blog.csdn.net/qq_33697094?type=lately'
headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36"
}
# 发送请求
result = requests.get(url, headers=headers)
# 获取该接口返回的 html 页面并格式化
tree = html.fromstring(result.text)
# 获取 <div class='blog-list-box-top'的 div 标签下 h4 标签里的文本
titles = tree.xpath("//div[@class='blog-list-box-top']/h4/text()")
# 获取 class属性是'blog-list-box'的article 标签下 a 标签里的 href 属性
urls = tree.xpath("//article[@class='blog-list-box']/a/@href")
print(titles)
print(urls)

上面是使用 xpath 去定位 html 的元素,关于 xpath 的语法和使用你可以参考如下文章:

lxml库与Xpath提取网页数据
lxml库的基本使用
Selenium 中的 XPath
selenium 定位元素
XPath in Selenium: How to Find & Write
How to use XPath in Selenium


http://www.ppmy.cn/news/568936.html

相关文章

【备战秋招】每日一题:2023.04.12-华为OD机是(第一题)-购物系统的降级策略

为了更好的阅读体检&#xff0c;可以查看我的算法学习网站 在线评测链接:P1189 题目内容 在一个购物APP中&#xff0c;有一个核心购物系统&#xff0c;它的接口被 N N N 个客户端调用。这些客户端负责处理来自不同渠道的交易请求&#xff0c;并将这些请求发送给核心购物系统…

跌倒检测 关节点角度数学计算

参考&#xff1a; https://github.com/GitGudwl/MediapipePoseEstimationForFallDetection/tree/main https://blog.csdn.net/weixin_45824067/article/details/130646962 1、mediapipe 根据关节点角度计算 1、11与12取中间点&#xff0c;记为center_up; 23 与24取中间点记为c…

Python网络编程:socket包的用法

持续补充 1 网络编程 网络编程&#xff0c;主要用于两台或多台计算机之间的通信&#xff0c;也可以是同一台计算机内不同进程之间的通信。Socket套接字可以用来实现网络通信。关于Socket套接字&#xff0c;需要注意以下几点&#xff1a; Socket是网络通信中应用层和传输层之间…

抖音林客系统定制开发

抖音林客是一款提供旅游攻略和景点推荐的短视频社交平台&#xff0c;主要用户群体为喜欢旅游和分享生活的年轻人。从需求分析角度来看&#xff0c;可以从以下几个方面进行分析&#xff1a; 信息获取需求&#xff1a;抖音林客用户需求获取有关旅游的详细和实用的信息&#x…

[转帖]房博士教你购房(二)

rel"File-List" href"file:///C:%5CDOCUME%7E1%5C%E7%8E%8B%E6%B5%B7%E6%B6%9B%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C01%5Cclip_filelist.xml"> 什么是花园小区、智能小区、远郊小区   花园小区、智能小区、远郊小区是未来小区发展的三种标准和趋势&am…

荨麻疹【指南共识】

荨麻疹 引文参考&#xff1a; 中华医学会皮肤性病学分会免疫学组. 中国慢性诱导性荨麻疹诊治专家共识&#xff08;2023&#xff09;[J]&#xff0e;中华皮肤科杂志&#xff0c;2023, 56&#xff08;6&#xff09;:479-488. doi&#xff1a;10.35541/cjd.20220819 【摘要】 …

STM32单片机(七)ADC模拟数字转换器----第二节:ADC模数转换器练习1(AD单通道)

❤️ 专栏简介&#xff1a;本专栏记录了从零学习单片机的过程&#xff0c;其中包括51单片机和STM32单片机两部分&#xff1b;建议先学习51单片机&#xff0c;其是STM32等高级单片机的基础&#xff1b;这样再学习STM32时才能融会贯通。 ☀️ 专栏适用人群 &#xff1a;适用于想要…

0xc0150002错误

最近在项目中碰到了一个奇怪的问题&#xff0c;编译通过了&#xff0c;运行的时候碰到了这样的错误: LdrpWalkImportDescriptor( ) failed to probe xx.dll for its manifest &#xff0c;错误代码0xc0150002 我用的是VC.net 2003的环境&#xff0c;运行的程序需要调用其他dll …