#!/usr/bin/python
#-*- coding : utf-8 -*-
importmimetypes,jsonimportrequestsimportre,os,threading,time,pymysqlclasswordpress_post:
def__init__(self,tittle,content):
self.tittle=tittleself.content=contentdefmysql_con(self):conn=pymysql.connect(host='',port=3306,user='',passwd='',db='',charset='utf8') #在此修改数据库信息
returnconndefup(self):times=time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time()))sql="INSERT INTO wp_posts(post_author,post_date,post_content,post_title,post_excerpt,post_status,comment_status,ping_status,post_name,to_ping,pinged,post_modified,post_content_filtered,post_parent,menu_order,post_type,comment_count) VALUES ('1','%s','%s','%s','','publish','open','open','%s','','','%s','','0','0','post','0')" % (str(times),str(self.content),str(self.tittle),str(self.tittle),str(times))
returnsqldefcat(self,ids,cat):sql="INSERT INTO wp_term_relationships(object_id,term_taxonomy_id,term_order) VALUES (%s,%s,'0')"%(ids,cat)
returnsqldefclose_mysql(self,cursor,conn):conn.commit()cursor.close()conn.close()
defupload(files):
APIKey = "" #在此修改apikeyformat= "json"url= "http://yoursite/api/1/upload/?key="+ APIKey + "&format=" +format#在此修改图床地址r=requests.post(url,files=files)time.sleep(1)
returnjson.loads(r.text)
defformatSource(filename):imageList= []type=mimetypes.guess_type(filename)[0]imageList.append(('source' , (filename,open(filename, 'rb') ,type)))
returnimageListreturnimageListclassmyThread(threading.Thread):
def__init__(self,url,dir,filename):threading.Thread.__init__(self)
self.threadID=filenameself.url=urlself.dir=dirself.filename=filenamedefrun(self):download_pic(self.url,self.dir,self.filename)
defdownload_pic(url,dir,filename):headers={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36Name','Referer':'http://www.mm131.com/'}req=requests.get(url=url,headers=headers)
ifreq.status_code==200:
withopen('temp/'+str(filename)+'.jpg','wb') asf:f.write(req.content)
defget_page_url_info(flag):infos=[]
ifflag==1:url='http://www.mm131.com/xinggan/'
else:url='http://www.mm131.com/xinggan/list_6_'+str(flag)+'.html'
get=requests.get(url)infos=re.findall(r'
(.*)',str(getpage.content,'gb2312',errors='ignore'))pages=re.findall(r'共(.*?)页',str(getpage.content,'gb2312',errors='ignore'))foriinrange(int(page)):file_s='temp/'+str(i)+'.jpg'
print(file_s)b=upload(formatSource(file_s))os.remove(file_s)img_hc=''
withopen('temp/temp.txt','a+') asf:f.write(img_hc)
withopen('temp/log.txt','a+') asf:f.write(str(info)+'n')
d=a.cat(new_id,'1')effect_row=cursor.execute(d)a.close_mysql(cursor,conn)
try:info_s=get_page_url_info(flag)
forinfoininfo_s:img_info=[]img_tittle=[]img_page=[]
withopen('temp/log.txt','r') asf:b=f.read()
try:img_info=get_page_img_info(info)
continueimg_tittle=img_info[0]img_page=img_info[1]
print('下载图片完成')get_img(info,img_page[0],img_tittle)
try:upload_img(img_page[0],img_tittle)
continuepost_article(info,img_tittle)
ifos.path.exists('temp')==False:os.makedirs('temp')f=open('temp/log.txt','w+')f.close()main()