IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> 爬虫-python -(3) 网站菜价和图片下载 bs4解析 -> 正文阅读

[Python知识库]爬虫-python -(3) 网站菜价和图片下载 bs4解析


bs4是通过网站的标签以及属性找到,对应文本信息或者标签属性。

1.bs4爬*网站菜价

例程给的网站,改版了,需要post,查找返回数据,数据就不用在网页里面查找了,数据简单的,所以我自己又重新找了一个网站。
蔬菜商情网

import requests
from bs4 import BeautifulSoup
import csv
def geturl(url):
    #url = 'http://www.shucai123.com/price/t'
    #url+= str(2)
    resp = requests.get(url)
    resp.encoding='utf-8'
    pagecontent= resp.text
    resp.close()
    return pagecontent
    #print(resp.text)

f = open('菜价.csv',mode='w',newline='',encoding='utf-8')
csvwriter = csv.writer(f)
url = 'http://www.shucai123.com/price/t'

for i in range(20):
    pagecontent = geturl(url+str(i+1))
    page = BeautifulSoup(pagecontent,'html.parser')  #指定html解析器
    table = page.find('table',attrs={'class':'bjtbl'})
    trs = table.find_all('tr')[1:]
    for tr in trs:
        tds = tr.find_all('td')
        #print([_.text for _ in tds[:-1]])
        csvwriter.writerow([_.text for _ in tds[:-1]])
    print('%d over!!'%(i+1))
f.close()

在这里插入图片描述

2.bs4图片网站

将以下网站的主页上的对应的高清大图下载,
唯美图片
主要分为3部分
1.打开主页,并将对应图片位置的网址找到
2.打开子页面,并找到图片的链接
3.保存图片

#图片下载
import requests
from bs4 import BeautifulSoup
import os

def getpage(url):  #获取网站源代码
    resp = requests.get(url)
    resp.encoding= 'utf-8'
    pagecontent = resp.text
    resp.close()
    return pagecontent
def requestdownload(ImageUrl,name):  #保存图片
    resp = requests.get(ImageUrl)
    with open('./pic/%s.png'%name, 'wb') as f:
        f.write(resp.content)   #将图片写入到文件
    resp.close()

url= "https://www.umei.cc/"
pagecontent = getpage(url)

FilePath = os.getcwd()+'\\pic'  #获取文件的地址在加上创建文件名称
if not os.path.exists(FilePath):   #如果不存在则创建文件夹
    os.makedirs(FilePath)

page = BeautifulSoup(pagecontent,'html.parser')
divs = page.find_all('div',attrs={'class':'PicListTxt'})
conter = 1
for div in divs:
    spans = div.find_all('span')
    for span in spans:
        urlnew = url+span.a.get('href')[1:]
        pagectnew = getpage(urlnew)    # 从新打开新的网站
        pagenew = BeautifulSoup(pagectnew,'html.parser')
        imgurl = pagenew.find('div',attrs={'class':'ImageBody'})   #分别找到链接和名字 
        names = pagenew.find('div',attrs={'class':'ArticleTitle'})
        requestdownload(imgurl.img['src'],names.text)   #保存图片
        print('%d over!!'%conter)
        conter+=1

在这里插入图片描述

3.总结

最近放假了三天,在家忙事情忙了三天,文章一直都没有更新,不过乐扣的题每天都有做,只是做的比较少。

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-01-04 13:23:24  更:2022-01-04 13:25:35 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 3:29:38-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码