python實現(xiàn)爬蟲下載美女圖片
更新時間:2015年07月14日 10:54:30 投稿:hebedich
本文給大家發(fā)發(fā)福利,給大家分享一個使用Python實現(xiàn)爬蟲下載百度貼吧美女圖片的代碼,十分不錯,有需要的小伙伴直接拿走吧。
本次爬取的貼吧是百度的美女吧,給廣大男同胞們一些激勵
在爬取之前需要在瀏覽器先登錄百度貼吧的帳號,各位也可以在代碼中使用post提交或者加入cookie
爬行地址:http://tieba.baidu.com/f?kw=%E7%BE%8E%E5%A5%B3&ie=utf-8&pn=0
#-*- coding:utf-8 -*-
import urllib2
import re
import requests
from lxml import etree
這些是要導入的庫,代碼并沒有使用正則,使用的是xpath,正則困難的童鞋可以嘗試使用下
推薦各位先使用基本庫來寫,這樣可以學習到更多
links=[] #遍歷url的地址
k=1
print u'請輸入最后的頁數(shù):'
endPage=int(raw_input()) #最終的頁數(shù) (r'\d+(?=\s*頁) 這是一個比較通用的正則抓取總頁數(shù)的代碼,當然最后要group
#這里是手動輸入頁數(shù),避免內容太多
for j in range(0,endPage):
url='http://tieba.baidu.com/f?kw=%E7%BE%8E%E5%A5%B3&ie=utf-8&pn='+str(j) #頁數(shù)的url地址
html=urllib2.urlopen(url).read() #讀取首頁的內容
selector=etree.HTML(html) #轉換為xml,用于在接下來識別
links=selector.xpath('//div/a[@class="j_th_tit"]/@href') #抓取當前頁面的所有帖子的url
#大家可以使用瀏覽器自帶的源碼查看工具,在指定目標處查看元素,這樣更快捷
for i in links:
url1="http://tieba.baidu.com"+i #因為爬取到的地址是相對地址,所以要加上百度的domain
html2=urllib2.urlopen(url1).read() #讀取當前頁面的內容
selector=etree.HTML(html2) #轉換為xml用于識別
link=selector.xpath('//img[@class="BDE_Image"]/@src') #抓取圖片,各位也可以更換為正則,或者其他你想要的內容
#此處就是遍歷下載
for each in link:
#print each
print u'正在下載%d'%k
fp=open('image/'+str(k)+'.bmp','wb') #下載在當前目錄下 image文件夾內,圖片格式為bmp
image1=urllib2.urlopen(each).read() #讀取圖片的內容
fp.write(image1) #寫入圖片
fp.close()
k+=1 #k就是文件的名字,每下載一個文件就加1
print u'下載完成!'
如果想要爬取其他站點的內容,大家可以參考一下
相關文章
python環(huán)境中的概念conda中與環(huán)境相關指令操作
這篇文章主要介紹了python環(huán)境中的概念conda中與環(huán)境相關指令操作,虛擬環(huán)境是從電腦獨立開辟出來的環(huán)境,文章介紹了相關概念,需要的朋友可以參考下2023-03-03
python matplotlib 畫dataframe的時間序列圖實例
今天小編就為大家分享一篇python matplotlib 畫dataframe的時間序列圖實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-11-11

