日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

小白html图片添加文字,小白爬虫入门——爬取图片和文字(超详细)

發布時間:2025/1/21 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 小白html图片添加文字,小白爬虫入门——爬取图片和文字(超详细) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

使用lxml包,從簡單的網頁中獲取文本和圖片

爬取網址:http://www.pythonscraping.com/pages/page3.htm

第一步 ,看網頁結構

F12打開開發者模式,大致網頁結構如下,看圖:

下面這個圖片是針對一個tr標簽的詳解,代碼與顯示一一對應:

第二步 ,代碼解釋

lxml簡單使用

在自己想爬取的文本位置上單擊右鍵,選擇copy–>Xpath,即可獲得xpath內容,但需要我們稍作修改。

獲得的xpath如下:

//*[@id="gift1"]/td[4]/img

但由于id是變化的,而每項里面的class是不變的,所以修改一下,并加上src屬性,得到:

//*[@class="gift"]/td[4]/img/@src

1、獲取文本— 以第一個td為例

title = html.xpath('//*[@class="gift"]/td[1]/text()')

2、 獲取標簽下所有文本——獲得第二個td

這里主要是第二部分的描述,td下不僅僅是文本還有span標簽,所以如果用text()會出現許多空行并且獲取不到span下的文本,這里要用string()

#獲得html中所有的class="gift"元素下的所有第二個td子元素

desc = html.xpath('//*[@class="gift"]/td[2]')

for i in range(0,len(desc)):

#處理元素獲得字符串

descText = desc[i].xpath('string(.)')

3、 獲取圖片

獲取img標簽中的src屬性中的內容

imgs=html.xpath('//*[@class="gift"]/td[4]/img/@src')

在讀取圖片時注意,由于爬取的圖片信息是這種形式:../img/gifts/img1.jpg

在保存圖片時需要改寫一下路徑

img = '../img/gifts/img1.jpg'

實際圖片路徑:

imgUrl = 'http://www.pythonscraping.com/x/'+img

`x/`只是為了多一層,名字隨便,抵消掉`../`

第三步 ,所有代碼

導入三個包,如果沒有該包,就pip install ,但如果pip install lxml 失敗,就看看這個 通過lxml的.whl文件來進行安裝

import requests

from lxml import etree

import re

#文本信息保存在test.txt

file = open("test.txt",'w',encoding='utf-8')

url = "http://www.pythonscraping.com/pages/page3.html"

res = requests.get(url)

content = res.content

html = etree.HTML(content)

#數據解析

title = html.xpath('//*[@class="gift"]/td[1]/text()')

desc = html.xpath('//*[@class="gift"]/td[2]')

price = html.xpath('//*[@class="gift"]/td[3]/text()')

imgs=html.xpath('//*[@class="gift"]/td[4]/img/@src')

#寫入文件

x = len(title)

for i in range(0,x):

# 描述要特別處理

descText = desc[i].xpath('string(.)')

#保存文本信息

file.write("第"+str(i+1)+"行數據"+"\n"+title[i]+"\n"+descText+"\n"+price[i]+"\n\n")

#下載圖片

with open('F:\PythonWork\\taobao_code\images\\'+str(i)+'.jpg', 'wb') as fd:

picture=requests.get('http://www.pythonscraping.com/x/'+imgs[i]).content

fd.write(picture)

print("成功下載%s.jpg"%i)

#關閉文件

file.close()

總結

重點注意獲取標簽里面所有文本內容

總結

以上是生活随笔為你收集整理的小白html图片添加文字,小白爬虫入门——爬取图片和文字(超详细)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。