使用Python3編寫抓取網頁和只抓網頁圖片的腳本
更新時間:2015年08月20日 09:46:01 作者:damotiansheng
這篇文章主要介紹了使用Python3編寫抓取網頁和只抓網頁圖片的腳本,使用到了urllib模塊,需要的朋友可以參考下
最基本的抓取網頁內容的代碼實現:
#!/usr/bin/env python
from urllib import urlretrieve
def firstNonBlank(lines):
for eachLine in lines:
if not eachLine.strip():
continue
else:
return eachLine
def firstLast(webpage):
f = open(webpage)
lines = f.readlines()
f.close()
print firstNonBlank(lines),
lines.reverse()
print firstNonBlank(lines),
def download(url='http://www',process=firstLast):
try:
retval = urlretrieve(url)[0]
except IOError:
retval = None
if retval:
process(retval)
if __name__ == '__main__':
download()
利用urllib模塊,來實現一個網頁中針對圖片的抓取功能:
import urllib.request
import socket
import re
import sys
import os
targetDir = r"C:\Users\elqstux\Desktop\pic"
def destFile(path):
if not os.path.isdir(targetDir):
os.mkdir(targetDir)
pos = path.rindex('/')
t = os.path.join(targetDir, path[pos+1:])
return t
if __name__ == "__main__":
hostname = "http://www.douban.com"
req = urllib.request.Request(hostname)
webpage = urllib.request.urlopen(req)
contentBytes = webpage.read()
for link, t in set(re.findall(r'(http:[^\s]*?(jpg|png|gif))', str(contentBytes))):
print(link)
urllib.request.urlretrieve(link, destFile(link))
import urllib.request
import socket
import re
import sys
import os
targetDir = r"H:\pic"
def destFile(path):
if not os.path.isdir(targetDir):
os.mkdir(targetDir)
pos = path.rindex('/')
t = os.path.join(targetDir, path[pos+1:]) #會以/作為分隔
return t
if __name__ == "__main__":
hostname = "http://www.douban.com/"
req = urllib.request.Request(hostname)
webpage = urllib.request.urlopen(req)
contentBytes = webpage.read()
match = re.findall(r'(http:[^\s]*?(jpg|png|gif))', str(contentBytes) )#r'(http:[^\s]*?(jpg|png|gif))'中包含兩層圓括號,故有兩個分組,
#上面會返回列表,括號中匹配的內容才會出現在列表中
for picname, picType in match:
print(picname)
print(picType)
'''''
輸出:
http://img3.douban.com/pics/blank.gif
gif
http://img3.douban.com/icon/g111328-1.jpg
jpg
http://img3.douban.com/pics/blank.gif
gif
http://img3.douban.com/icon/g197523-19.jpg
jpg
http://img3.douban.com/pics/blank.gif
gif
...
'''
相關文章
Python 通過爬蟲實現GitHub網頁的模擬登錄的示例代碼
這篇文章主要介紹了Python 通過爬蟲實現GitHub網頁的模擬登錄的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-08-08
Python代碼執(zhí)行時間測量模塊timeit用法解析
這篇文章主要介紹了Python代碼執(zhí)行時間測量模塊timeit用法解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-07-07
Python基于SMTP協(xié)議實現發(fā)送郵件功能詳解
這篇文章主要介紹了Python基于SMTP協(xié)議實現發(fā)送郵件功能,結合實例形式分析了Python使用SMTP協(xié)議實現郵件發(fā)送的相關操作技巧,并總結分析了Python發(fā)送純文本郵件、郵件附件、圖片郵件等相關操作技巧,需要的朋友可以參考下2018-08-08
用Python爬取618當天某東熱門商品銷量數據,看看大家喜歡什么!
618購物節(jié),準備分析一波購物節(jié)大家都喜歡買什么?本文以某東為例,Python爬取618活動的暢銷商品數據,并進行數據清洗,最后以可視化的方式從不同角度去了解暢銷商品中,名列前茅的商品是哪些?銷售數據如何?用戶好評如何?等等,需要的朋友可以參考下2021-06-06

