Salut. Imi era lene sa copiez fiecare post din blog(wordpress) si sa il pun pe ftw.ro, asa ca am facut un script. Scriptul este in Python, si are nevoie de username+password, si un blog ce foloseste wordpress.
Mai jos este scriptul(va trebuie Python, si librariile feedparser, si mechanize)
Cod:
import re,sys,feedparser,time
from mechanize import Browser
from ClientForm import ParseResponse
br = Browser()
br.open("http://www.ftw.ro/")
print br.title()
br.select_form(nr=22)
#print br.form
form = br.form
form['name'] = "username"
form['pass'] = "password"
br.form = form
br.submit()
test2 = br.open('http://www.ftw.ro/submit')
###ADDING TO SITE ####
link = "http://www.<blog>.ro/"
link = link + 'feed/'
d = feedparser.parse(link)
br.select_form(nr=2)
aux = ''
print br.form
form = br.form
for i in range(0,len(d.entries)):
#for i in range(0,2):
try:
form['url'] = d.entries[i].link
form['title'] = d.entries[i].title[:20]
dest = d.entries[i].description[0:260] + '....'
form['body'] = dest
form.find_control(name="taxonomy[9]").value = ["18403"]
form.find_control(name="taxonomy[1]").value = ["10"]
#form['taxonomy[tags][2]'] = 'hacking, testing, google'
for j in range(0,len(d.entries[i].tags)):
item = d.entries[i].tags[j].term
aux = aux + ', ' + item
form['taxonomy[tags][2]'] = aux
br.form = form
print br.form
br.submit()
print i
#time.sleep(3600)
except UnicodeEncodeError:
print "Eroare unicode"
pass
Ce trebuie sa stiti:
form.find_control(name="taxonomy[9]").value = ["18403"] --> se alege "blog-uri"
form.find_control(name="taxonomy[1]").value = ["10"] --> se alege IT
Pentru a alege un domeniu pentru articol(ce se va inlocui la "taxonomy[1].value) ne uitam in codul sursa a http://ftw.ro/submit si gasim:
<option value="24183">Turism</option><option value="1">Altele</option>
In cazul de fata <option value="10">IT&C</option>(inlocuim aici: (name="taxonomy[1]").value = ["10"] )
P.S: Se trimit pe site ultimele 10 post-uri. Merge doar pentru wordpress!
Succes!
LE: Vreti mai multe explicatii? Nu intelegeti ceva?
Post here