之前的文章有關(guān)于更多操作方式詳細(xì)解答,本篇基于前面的知識點(diǎn)進(jìn)行操作,如果不了解可以先看之前的文章
Python爬蟲(1)一次性搞定Selenium(新版)8種find_element元素定位方式
Python爬蟲(2)-Selenium控制瀏覽器
Python爬蟲(3)-Selenium結(jié)合pywin32模擬鍵盤操作
Python爬蟲(4)-Selenium模擬鼠標(biāo)操作
Python爬蟲(5)-selenium用顯式等待、隱式等待、強(qiáng)制等待,解決反復(fù)爬取網(wǎng)頁時無法定位元素問題
selenium下載圖片和PDF的文件的方式有很多種,可以使用自帶的下載方式,也可以使用模擬鼠標(biāo)右鍵點(diǎn)擊的方式去儲存和下載不過這兩種方式都不太推薦使用,因?yàn)槲覀兊氖褂?/p>
selenium的目的主要是為了做一些爬蟲,爬蟲多數(shù)時候需要下載大量的圖片和文件,這里就需要使用其他的方式來進(jìn)行下載文件
下載前的工作,需要定位好圖片的地址
完成定位之后我們需要獲取到圖片的地址也就是src
from selenium import webdriver from selenium.webdriver import Chrome, ChromeOptions from selenium.webdriver.common.by import By from selenium.webdriver.common.keys import Keys opt = ChromeOptions() # 創(chuàng)建Chrome參數(shù)對象opt.headless = False # 把Chrome設(shè)置成可視化無界面模式,windows/Linux 皆可driver = Chrome(options=opt)driver.get('https://www.pexels.com/zh-cn/photo/931177/')ab = driver.find_element(By.XPATH,'//*[@id="__next"]/main/div/div[2]/div/div/img').get_attribute('src')print(ab)
獲取到src之后我們就可以進(jìn)行下一步操作
1.使用requests下載文件
下載圖片
首先導(dǎo)入requests,把定位找到的圖片地址傳入dowlimg,寫入文件,即可將下載好的文件存入本地
import requests dowlimg = requests.get(ab)open('imgtest.jpeg','wb').write(dowlimg.content)driver.close()
下載PDF文件
下載PDF文件也是一個道理只要你能夠通過selenium定位獲取到地址,傳入給request就能夠把文件給下載下來
import requests url = 'https://pdf.dfcfw.com/pdf/H2_AN202302051582783380_1.pdf?1675614279000.pdf'dowlimg = requests.get(url)open('PDF.pdf','wb').write(dowlimg.content)
2.使用wget下載文件
下載圖片
使用wget下載有個麻煩點(diǎn)就是有些網(wǎng)站設(shè)置了反爬蟲時會出現(xiàn)403拒絕的情況,嘗試用了用戶代理那些都失敗,只能用于下載沒有反爬蟲的網(wǎng)站圖片
import wgeturl = "https://img-blog.csdnimg.cn/f6c50979184e417babde47d8f8fbd58e.png#pic_center"wget.download(url,'image.jpeg')
下載PDF文件
import wgeturl = "https://pdf.dfcfw.com/pdf/H2_AN202302051582783380_1.pdf?1675614279000.pdf"wget.download(url,'pdf1.pdf')
3.使用urllib3下載文件
下載圖片
import urllib url = "https://img-blog.csdnimg.cn/f6c50979184e417babde47d8f8fbd58e.png#pic_center"urllib.request.urlretrieve(url, 'img1.jpeg')
下載PDF文件
import urllib url = "https://pdf.dfcfw.com/pdf/H2_AN202302051582783380_1.pdf?1675614279000.pdf"urllib.request.urlretrieve(url, 'img1.jpeg')
文章來源:http://www.zghlxwxcb.cn/news/detail-489011.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-489011.html
到了這里,關(guān)于Python爬蟲教程:使用requests、wget和urllib3下載圖片和PDF文件的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!