bs4解析-湖南农场品价格行情
import requests
from bs4 import BeautifulSoup
import csv
url = 'https://price.21food.cn/market/174-p1.html'
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36 Edg/110.0.1587.41'
}
resp = requests.get(url=url, headers=headers)
# print(resp.text)
# 解析数据
# 1.把页面源代码交给BeautifulSoup进行处理,生成bs对象
page = BeautifulSoup(resp.text, 'html.parser') # 设置解析器
# 2.从bs对象中查找数据
# find(标签,属性=值)
# find_all(标签,属性=值)
# 定位到一个方便提取具体数值的地方
# div = page.find('div',class_='sjs_top_cent_erv') # class是python关键字,所以要写成class_
div = page.find('div', attrs={"class": "sjs_top_cent_erv"}) # 和上一行是一个意思,此时可以避免class
# 拿到所有数据行
# 进行切片,不要第一个tr 第一个tr是每一个列标题
trs = div.find_all('tr')[1:]
# 存储文件
f = open('data.csv', mode='w', encoding='utf-8', newline='') # newline = ''
# 备注:如果没有指定 newline=‘’,则嵌入引号中的换行符将无法正确解析,并且在写入时,使用 \r\n 换行的平台会有多余的 \r 写入。
csvwriter = csv.writer(f)
for tr in trs: # 每一行的数据
tds = tr.find_all('td') # 拿到行中的所有td
name = tds[0].text # .text 表示拿到被标签标记的内容
market = tds[1].text
spe = tds[2].text
max = tds[3].text
min = tds[4].text
ave = tds[5].text
date = tds[6].text
csvwriter.writerow([name, market, spe, max, min, ave, date]) # 放到csv文件里
resp.close()
f.close()
print("完成!!!")
bs4解析-湖南农场品价格行情的更多相关文章
- bs4解析库
beautifulsoup4 bs4解析库是灵活又方便的网页解析库,处理高效,支持多种解析器.利用它不用编写正则表达式即可方便地实现网页的提取 要解析的html标签 from bs4 import B ...
- bs4 解析 以及用法
bs4解析 bs4: 环境安装: lxml bs4 bs4编码流程: 1.实例化一个bs4对象,且将页面源码数据加载到该对象中 2.bs相关的方法或者属性实现标签定位 3.取文本或者取属性 bs的属性 ...
- Python3.x:bs4解析html基础用法
Python3.x:bs4解析html基础用法 代码: import urllib.request from bs4 import BeautifulSoup import re url = r'ht ...
- 爬虫的三种解析方式(正则解析, xpath解析, bs4解析)
一 : 正则解析 : 常用正则回顾: 单字符: . : 除换行符以外的所有字符 [] : [aoe] [a-w] 匹配集合中任意一个字符 \d : 数字 [0-9] \D : 非数字 \w : 非数字 ...
- bs4解析
介绍:将一个html文档转换成BeautifulSoup对象,然后通过对象的方法或属性查找指定的节点内容 转换本地文件: soup = BeautifulSoup(fp,'lxml') fp为文档 ...
- python bs4解析网页时 bs4.FeatureNotFound: Couldn't find a tree builder with the features you requested: lxml. Do you need to inst(转)
Python小白,学习时候用到bs4解析网站,报错 bs4.FeatureNotFound: Couldn't find a tree builder with the features you re ...
- 爬虫系列二(数据清洗--->bs4解析数据)
一 BeautifulSoup解析 1 环境安装 - 需要将pip源设置为国内源,阿里源.豆瓣源.网易源等 - windows (1)打开文件资源管理器(文件夹地址栏中) (2)地址栏上面输入 %ap ...
- pytho爬虫使用bs4 解析页面和提取数据
页面解析和数据提取 关注公众号"轻松学编程"了解更多. 一般来讲对我们而言,需要抓取的是某个网站或者某个应用的内容,提取有用的价值.内容一般分为两部分,非结构化的数据 和 结构化的 ...
- bs4解析要获取被注掉的部分需先将注释符号去掉
<div class="xzcf-content"> <div id="sfxz"> <div class="main- ...
- 爬虫的两种解析方式 xpath和bs4
1.xpath解析 from lxml import etree 两种方式使用:将html文档变成一个对象,然后调用对象的方法去查找指定的节点 (1)本地文件 tree = etree.parse(文 ...
随机推荐
- vue-单独引入css文件,设置公共的css样式或者修改默认的vant,mint样式
1.css文件夹下新建global.css文件并粘贴复制: ======================= :root{ --bgColor : #d3252a; --pinkColo ...
- SAP HANA计算视图
Text. Text. Text. Text. Text. Text. Text. Text. Text. Text. 越来越多的SAP用户正在将SAP HANA实施为现有SAP BW的基础和数据库. ...
- Solution Set - 图上问题
CF360E Link&Submission. 首先显然可以选择的边的权值一定会取端点值.事实上,第一个人经过的边选最小,第一个人不经过的边选最大,这样一定不劣.进一步,如果 \(s_1\) ...
- go-admin 视频教程
https://cloud.189.cn/t/6JJ3uqreqyai (访问码:2xn5) 感谢 熊猫 同学 整理 失效了可以去B站看 https://www.bilibili.com/video/ ...
- 一种利用光电容积描记(PPG)信号和深度学习模型对高血压分类的新方法
具体的软硬件实现点击 http://mcu-ai.com/ MCU-AI技术网页_MCU-AI 据世界心脏联合会统计,截至 2022 年,全球有 13 亿人被诊断患有高血压,每年约有 1000 万人死 ...
- Java面试题:让依赖注入变得简单,面对@Autowired和@Resource,该如何选择?
@Autowired和@Resource都是Java Spring框架中的注解,用于实现依赖注入(DI)和控制反转(IoC).它们的区别主要在以下三个方面: 源头不同 @Autowired是Spri ...
- 基于FPGA的4x4矩阵键盘驱动设计---第一版
欢迎各位朋友关注"郝旭帅电子设计团队",本篇为各位朋友介绍基于FPGA的4x4矩阵键盘驱动设计---第一版 功能说明: 1. 驱动4x4矩阵键盘:按下任意一个按键,解析出对应按键信 ...
- 从xib初始化的UIView如何继承?
一.如何从xib自定义一个CustomView 1)首先创建继承自UIView的子类CustomView 2)创建名字为CustomView的View的Interface文件 3)在xib的资源文件中 ...
- C++笔记(11)工厂模式
建议直接空降至参考文献,点击链接 简单工厂模式 #include<iostream> using namespace std; class BasicCamera { public: vi ...
- FastJson转Java对像字段不区分大小写
昨天遇到参数key大小写不一致导致校验签名失败的问题,查了很长时间才找到原因.看了一下FastJson源码,发现JSON.toObject中转换成对象的时候会忽略大小写. 所以,当使用了JSON.to ...