# coding:utf-8
import requests
from bs4 import BeautifulSoup
import os , random
import urllib2
import sys , MySQLdb
import re
from PIL import Image
import imagehash
import uuid
from io import BytesIO
# 數(shù)據(jù)庫設(shè)置
MYSQL_HOST = 'localhost'
MYSQL_DBNAME = 'ip'
MYSQL_USER = 'mark'
MYSQL_PASSWD = '1234'
MYSQL_PORT = 3306
image_hash_set = set()
# 此處修改偽造的頭字段,
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.64 Safari/537.11'}
def getProxy ( conn , cur , columns_data ):
flag = random.choice ( columns_data )
sql = "select proxy_ip,proxy_port from proxy where id =%d" % (flag)
cur.execute ( sql )
proxy = {}
for each in cur.fetchall ():
proxy[ 'http' ] = "http://%s:%s" % (each[ 0 ] , each[ 1 ])
try:
requests.get ( 'https://movie.douban.com/top250' , proxies=proxy )
except:
print "proxy error"
getProxy ( conn , cur , columns_data )
else:
print "proxy success"
return proxy
def get_request ( url , headers , conn , cur , columns_data ):
proxy = getProxy ( conn , cur , columns_data )
proxy_s = urllib2.ProxyHandler ( proxy )
opener = urllib2.build_opener ( proxy_s )
urllib2.install_opener ( opener )
req = urllib2.Request ( url , headers=headers )
r = urllib2.urlopen ( req )
return r.read ()
def getImage ( url , headers , conn , cur , columns_data ):
for each in range ( 1 , 7 ):
real_url = "%s%d" % (url , each)
html = get_request(url,headers,conn,cur,columns_data)
soup = BeautifulSoup(html,'html.parser')
for each in soup.findAll('div',attrs = {'id':re.compile('^post_content_(\d+)')}):
for i in each.findAll('img',class_='BDE_Image'):
src = i.get('src')
name = uuid.uuid1()
response = requests.get ( src ).content
image = Image.open ( BytesIO ( response) )
imagehash_tmp = imagehash.average_hash(image)
if imagehash_tmp not in image_hash_set:
print "%s\t%s.jpg" %(src,name)
os.chdir('C:\Users\NorthCity\Desktop\spider\image')
image.save ( "%s.jpg" %(name))
if __name__ == "__main__":
conn = MySQLdb.connect ( host=MYSQL_HOST , user=MYSQL_USER , passwd=MYSQL_PASSWD , db=MYSQL_DBNAME ,
port=MYSQL_PORT , charset='utf8' )
cur = conn.cursor ()
columns = "select id from proxy"
cur.execute ( columns )
columns_data = [ ]
for each in cur.fetchall ():
columns_data.append ( each[ 0 ] )
url = 'https://tieba.baidu.com/p/5033202671?pn='
getImage (url , headers , conn , cur , columns_data )
【美圖】雜圖_美圖吧_百度貼吧 爬蟲
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
- 文/潘曉璐 我一進店門号阿,熙熙樓的掌柜王于貴愁眉苦臉地迎上來并鸵,“玉大人,你說我怎么就攤上這事扔涧≡暗#” “怎么了?”我有些...
- 文/不壞的土叔 我叫張陵枯夜,是天一觀的道長弯汰。 經(jīng)常有香客問我,道長湖雹,這世上最難降的妖魔是什么咏闪? 我笑而不...
- 正文 為了忘掉前任,我火速辦了婚禮摔吏,結(jié)果婚禮上鸽嫂,老公的妹妹穿的比我還像新娘纵装。我一直安慰自己,他們只是感情好溪胶,可當(dāng)我...
- 文/花漫 我一把揭開白布搂擦。 她就那樣靜靜地躺著,像睡著了一般哗脖。 火紅的嫁衣襯著肌膚如雪瀑踢。 梳的紋絲不亂的頭發(fā)上,一...
- 文/蒼蘭香墨 我猛地睜開眼茬暇,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了寡喝?” 一聲冷哼從身側(cè)響起糙俗,我...
- 正文 年R本政府宣布抄淑,位于F島的核電站,受9級特大地震影響驰后,放射性物質(zhì)發(fā)生泄漏肆资。R本人自食惡果不足惜,卻給世界環(huán)境...
- 文/蒙蒙 一灶芝、第九天 我趴在偏房一處隱蔽的房頂上張望郑原。 院中可真熱鬧唉韭,春花似錦、人聲如沸犯犁。這莊子的主人今日做“春日...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽酸役。三九已至住诸,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間涣澡,已是汗流浹背贱呐。 一陣腳步聲響...
推薦閱讀更多精彩內(nèi)容
- 問答核心觀點摘要: ? 明年全面進入盈利的狀態(tài) ? 好的公司不應(yīng)該一上市就去借債 ? 買股票蜘腌,買公司沫屡,最好買二次創(chuàng)...
- 我親愛的聾啞乞討者谁鳍, 請你原諒, 我只是個貧窮的學(xué)生劫瞳。 父母給的生活費本就不多倘潜, 盡管你的愛心冊上最大的面額只有二...