A. python如何爬取百度圖片
幾乎所有的網站都會有反爬機制,這就需要在爬取網頁時攜帶一些特殊參數,比如:user-agent、Cookie等等,可以在寫代碼的時候用工具將所有參數都帶上。
B. Python爬蟲爬取圖片這個報錯怎麼處理
你好!你的錯誤原因在於html頁面獲取到的img標簽src屬性中的鏈接,可能是因為src中的url格式是這樣的:
<imgsrc="//hao123.com/xxx/xxx/xxx/"></img>
這樣獲取到的鏈接都沒有帶上協議:http或者https。而導致程序拋出ValueError的錯誤異常。
因為正常的url格式應該類似這樣的:https://www..com/
即 協議://用戶名:密碼@子域名.域名.頂級域名:埠號/目錄/文件名.文件後綴?參數=值#標志
參考網頁鏈接
可將代碼中第一個for循環中download_links.append修改為:
forpic_taginsoup.find_all('img'):
pic_link=pic_tag.get('src')
download_links.append('http:'+pic_link)
C. python為啥有時候用.content爬取的圖片是0 kb
這種情況一般都是你雖然找到了下載地址,卻無法下載圖片。最常見的兩個可能:你和伺服器之間的通信效果不好,另一種就是人家基於內容進行了保護,也就是反扒
D. 用Python爬蟲爬取的圖片怎麼知道圖片有沒有水印
看啊 眼睛是能判斷的
E. python抓取網頁上圖片
正則表達式匹配的url有錯誤
for x in add:
print x # 這里可以看到報錯的時候是 url 錯誤
dirpath = os.path.join('C:\\Users\\lilinan\\Desktop\\新建文件夾','%s.jpg' % t)
urllib.request.urlretrieve(x,dirpath)
t+=1
F. 使用python爬取網頁,獲取不到圖片地址
這個大圖片是在點擊之後用 JS 控制載入的。
你可以看看 js/js.js 這個文件,253 行:
functionchangeImg(){
jQuery("#bitImg").attr('src','p/p'+pictID+'/'+indexNum+'.'+jpgPng);
}
其實大圖的規律很好找, 下面縮略圖列表的 src 可以用 #variContent > li > img 取到,可以在源碼中的 107 行找到:
view-source:http://pictogram2.com/?p=2315
縮略圖列表地址長這樣:
/p/p0997/tn/1.jpg
/p/p0997/tn/2.jpg
/p/p0997/tn/3.jpg
...
如果要獲取大圖,只要去掉「tn」這一段就可以:
/p/p0997/1.jpg
/p/p0997/2.jpg
/p/p0997/3.jpg
...
然後拼接域名在前面,GET 下來就是大圖,比如第一個大圖鏈接:
第一個大圖地址
不過,你如果僅僅只是想要抓那個站的全部素材,窮舉「p0997」這一段的序號(比如改成「p0098」,這個應該是圖集的 ID),並且遍歷最後一段的圖片序號,擴展名可能是 jpg 也可能是 png,從 1 開始(「1.jpg」,「2.jpg」...)直到返回 404 停止。
思路大概是這么個思路,不過話說回來,你這么爬人家素材真的道德嗎?
G. python3 爬取圖片異常的原因
我們在下載文件時,一會會採取urlretrieve或是requests的get方式,
from urllib.request import urlretrieve
urlretrieve(self.url, filename="xxx.png")
但對於連續下載,各個文件保存是需要時間的,而程序運行永運是快於存儲的,我懷疑這是水管里流水速度與缸的大小不合適的原因,那可以試試下面這種方式:
r = requests.get(url, stream=True)
with open(local_filename, 'wb') as f:
for chunk in r.iter_content(chunk_size=1024):
if chunk: # filter out keep-alive new chunks
f.write(chunk)
f.flush()
H. python如何利用requests和bs4爬取圖片
目標網站網址呢?網址發出來我看一下
每個網站的HTML結構不一樣,解析代碼就不一樣,要針對不同的網站編寫不同的代碼
編寫爬蟲代碼前還要評估目標網站是否需要登錄,數據是否有加密等諸多問題