mirror of https://github.com/WikiTeam/wikiteam
Merge branch 'master' of https://github.com/WikiTeam/wikiteam
commit
aecee2dc53
@ -0,0 +1,2 @@
|
||||
*.com linguist-vendored
|
||||
*.org linguist-vendored
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,61 @@
|
||||
#!/usr/bin/env python2
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Copyright (C) 2018 WikiTeam developers
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
import random
|
||||
import re
|
||||
import sys
|
||||
import time
|
||||
import urllib.request
|
||||
|
||||
def main():
|
||||
opener = urllib.request.build_opener()
|
||||
opener.addheaders = [('User-agent', 'Mozilla/5.1')]
|
||||
urllib.request.install_opener(opener)
|
||||
|
||||
for i in range(1, 100000):
|
||||
url = 'https://duckduckgo.com/html/?q=%s%%20%s%%20site:wikidot.com' % (random.randint(100, 5000), random.randint(1000, 9999))
|
||||
print('URL search', url)
|
||||
try:
|
||||
html = urllib.request.urlopen(url).read().decode('utf-8')
|
||||
except:
|
||||
print('Search error')
|
||||
time.sleep(30)
|
||||
continue
|
||||
html = urllib.parse.unquote(html)
|
||||
m = re.findall(r'://([^/]+?\.wikidot\.com)', html)
|
||||
for wiki in m:
|
||||
wiki = 'https://' + wiki
|
||||
if not wiki in wikis:
|
||||
wikis.append(wiki)
|
||||
wikis.sort()
|
||||
print(wiki)
|
||||
with open('wikidot-duckduckgo.txt', 'w') as f:
|
||||
wikis2 = []
|
||||
for wiki in wikis:
|
||||
wiki = re.sub(r'https?://www\.', 'http://', wiki)
|
||||
if not wiki in wikis2:
|
||||
wikis2.append(wiki)
|
||||
wikis = wikis2
|
||||
wikis.sort()
|
||||
f.write('\n'.join(wikis))
|
||||
print('%d wikis found' % (len(wikis)))
|
||||
sleep = random.randint(5,20)
|
||||
print('Sleeping %d seconds' % (sleep))
|
||||
time.sleep(sleep)
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
@ -0,0 +1,65 @@
|
||||
#!/usr/bin/env python2
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Copyright (C) 2018 WikiTeam developers
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
import random
|
||||
import re
|
||||
import sys
|
||||
import time
|
||||
import urllib.request
|
||||
|
||||
def main():
|
||||
opener = urllib.request.build_opener()
|
||||
opener.addheaders = [('User-agent', 'Mozilla/5.0')]
|
||||
urllib.request.install_opener(opener)
|
||||
|
||||
wikis = []
|
||||
with open('wikidot-spider.txt', 'r') as f:
|
||||
wikis = f.read().strip().splitlines()
|
||||
|
||||
for i in range(1, 1000000):
|
||||
url = random.choice(wikis)
|
||||
print('URL search', url)
|
||||
try:
|
||||
html = urllib.request.urlopen(url).read().decode('utf-8')
|
||||
except:
|
||||
print('Search error')
|
||||
time.sleep(30)
|
||||
continue
|
||||
html = urllib.parse.unquote(html)
|
||||
m = re.findall(r'://([^/]+?\.wikidot\.com)', html)
|
||||
for wiki in m:
|
||||
wiki = 'http://' + wiki
|
||||
if not wiki in wikis:
|
||||
wikis.append(wiki)
|
||||
wikis.sort()
|
||||
print(wiki)
|
||||
with open('wikidot-spider.txt', 'w') as f:
|
||||
wikis2 = []
|
||||
for wiki in wikis:
|
||||
wiki = re.sub(r'https?://www\.', 'http://', wiki)
|
||||
if not wiki in wikis2:
|
||||
wikis2.append(wiki)
|
||||
wikis = wikis2
|
||||
wikis.sort()
|
||||
f.write('\n'.join(wikis))
|
||||
print('%d wikis found' % (len(wikis)))
|
||||
sleep = random.randint(1,5)
|
||||
print('Sleeping %d seconds' % (sleep))
|
||||
time.sleep(sleep)
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
@ -0,0 +1,871 @@
|
||||
http://007.wikidot.com
|
||||
http://025002.wikidot.com
|
||||
http://05centraal.wikidot.com
|
||||
http://05command-ja.wikidot.com
|
||||
http://05command.wikidot.com
|
||||
http://05zentrale.wikidot.com
|
||||
http://101.wikidot.com
|
||||
http://16thfleet.wikidot.com
|
||||
http://2012hoax.wikidot.com
|
||||
http://56wrtg1150.wikidot.com
|
||||
http://5edndwiki.wikidot.com
|
||||
http://E-H-S.wikidot.com
|
||||
http://F90in15Minutes.wikidot.com
|
||||
http://Health-Matters.wikidot.com
|
||||
http://Herbis.wikidot.com
|
||||
http://INCL.wikidot.com
|
||||
http://a4art.wikidot.com
|
||||
http://abarrelfull.wikidot.com
|
||||
http://academicwriting.wikidot.com
|
||||
http://ad3.wikidot.com
|
||||
http://admindevelopement.wikidot.com
|
||||
http://advent-ro.wikidot.com
|
||||
http://adventuresintherealms.wikidot.com
|
||||
http://aepassociation.wikidot.com
|
||||
http://aepsandbox.wikidot.com
|
||||
http://afterthecomet-v2.wikidot.com
|
||||
http://ageofascension.wikidot.com
|
||||
http://ageofheroesmux.wikidot.com
|
||||
http://airchairbuild.wikidot.com
|
||||
http://albums-template.wikidot.com
|
||||
http://alfamedia.wikidot.com
|
||||
http://algadon.wikidot.com
|
||||
http://alicebot.wikidot.com
|
||||
http://alveslima-edu.wikidot.com
|
||||
http://amawal.wikidot.com
|
||||
http://amen.wikidot.com
|
||||
http://amiii.wikidot.com
|
||||
http://analyticscamp.wikidot.com
|
||||
http://android0.wikidot.com
|
||||
http://androidalchemy.wikidot.com
|
||||
http://angarmegia-creadores.wikidot.com
|
||||
http://angarmegia-publicaciones.wikidot.com
|
||||
http://angarmegia-valores.wikidot.com
|
||||
http://angarmegia.wikidot.com
|
||||
http://angry-mage-games.wikidot.com
|
||||
http://anime-planet.wikidot.com
|
||||
http://apmoderneuro.wikidot.com
|
||||
http://applebyandwyman.wikidot.com
|
||||
http://aprendiendo.wikidot.com
|
||||
http://aq-3d.wikidot.com
|
||||
http://aqw-swf.wikidot.com
|
||||
http://aqwwiki.wikidot.com
|
||||
http://arcana.wikidot.com
|
||||
http://arcblade.wikidot.com
|
||||
http://artemachia.wikidot.com
|
||||
http://artniyet.wikidot.com
|
||||
http://asen.wikidot.com
|
||||
http://asoh.wikidot.com
|
||||
http://aspnet.wikidot.com
|
||||
http://astrobhadauria.wikidot.com
|
||||
http://astrobhadauria1414.wikidot.com
|
||||
http://astroveda.wikidot.com
|
||||
http://astroyogas.wikidot.com
|
||||
http://asu-csf.wikidot.com
|
||||
http://audioprodukcja.wikidot.com
|
||||
http://avendar.wikidot.com
|
||||
http://aviationknowledge.wikidot.com
|
||||
http://avoidglow.wikidot.com
|
||||
http://azentia.wikidot.com
|
||||
http://babel-template.wikidot.com
|
||||
http://backpharma.wikidot.com
|
||||
http://backupstorage.wikidot.com
|
||||
http://badwebcomics.wikidot.com
|
||||
http://balchipedia.wikidot.com
|
||||
http://barakus.wikidot.com
|
||||
http://battlestargenesis.wikidot.com
|
||||
http://bcp.wikidot.com
|
||||
http://beadersresourceguide.wikidot.com
|
||||
http://beargod.wikidot.com
|
||||
http://benitachell-bowls-club.wikidot.com
|
||||
http://bhg.wikidot.com
|
||||
http://bibles.wikidot.com
|
||||
http://bilbreyapwh.wikidot.com
|
||||
http://biol-117.wikidot.com
|
||||
http://biol252-biol319.wikidot.com
|
||||
http://bioproject.wikidot.com
|
||||
http://bisgmit.wikidot.com
|
||||
http://blackbelt.wikidot.com
|
||||
http://blackberrystorm.wikidot.com
|
||||
http://blackmarches.wikidot.com
|
||||
http://blank-template.wikidot.com
|
||||
http://bleachitp.wikidot.com
|
||||
http://blender0.wikidot.com
|
||||
http://blender1.wikidot.com
|
||||
http://blmodding.wikidot.com
|
||||
http://blog-template.wikidot.com
|
||||
http://blog.wikidot.com
|
||||
http://blogs-template.wikidot.com
|
||||
http://bloodborne.wikidot.com
|
||||
http://bni-ine.wikidot.com
|
||||
http://book-template.wikidot.com
|
||||
http://booriley.wikidot.com
|
||||
http://bootstrap-playground.wikidot.com
|
||||
http://borderlands.wikidot.com
|
||||
http://borradores-insurgencia-del-caos.wikidot.com
|
||||
http://borradores-scp-es.wikidot.com
|
||||
http://bozic-nation.wikidot.com
|
||||
http://brmehta12.wikidot.com
|
||||
http://brtff.wikidot.com
|
||||
http://brydz.wikidot.com
|
||||
http://bua581.wikidot.com
|
||||
http://bua581beerworks.wikidot.com
|
||||
http://bua581hallelibraryfinalproject.wikidot.com
|
||||
http://bugs-template.wikidot.com
|
||||
http://bugs.wikidot.com
|
||||
http://burntlands.wikidot.com
|
||||
http://bvs.wikidot.com
|
||||
http://bx-community.wikidot.com
|
||||
http://bzhlab.wikidot.com
|
||||
http://c4fsharp.wikidot.com
|
||||
http://calu.wikidot.com
|
||||
http://campusconfidential.wikidot.com
|
||||
http://cancer-control.wikidot.com
|
||||
http://caosinsurgente.wikidot.com
|
||||
http://carpenoctemstaff.wikidot.com
|
||||
http://castleage.wikidot.com
|
||||
http://caughtnotsleeping.wikidot.com
|
||||
http://ccckmit.wikidot.com
|
||||
http://ccpd.wikidot.com
|
||||
http://cctest.wikidot.com
|
||||
http://ccyms.wikidot.com
|
||||
http://ccymsevangelization.wikidot.com
|
||||
http://ccymsfoundations.wikidot.com
|
||||
http://ccymsjustice.wikidot.com
|
||||
http://ccymslounge.wikidot.com
|
||||
http://ccymspastoral.wikidot.com
|
||||
http://ccymspractices.wikidot.com
|
||||
http://ccymsprayer.wikidot.com
|
||||
http://ccymsprinciples.wikidot.com
|
||||
http://ccymsskills.wikidot.com
|
||||
http://ccymsstudents.wikidot.com
|
||||
http://cdaworldhistory.wikidot.com
|
||||
http://cellworld.wikidot.com
|
||||
http://celtic-heroes.wikidot.com
|
||||
http://cf-vanguard.wikidot.com
|
||||
http://cgp.wikidot.com
|
||||
http://chaoscomplexityineducation.wikidot.com
|
||||
http://chat-template.wikidot.com
|
||||
http://chatroom.wikidot.com
|
||||
http://chavezbraintrust.wikidot.com
|
||||
http://chcc.wikidot.com
|
||||
http://chessvariants.wikidot.com
|
||||
http://chimiex-bicaz.wikidot.com
|
||||
http://ci-sandbox.wikidot.com
|
||||
http://ci-visualdocuments.wikidot.com
|
||||
http://ci-wiki.wikidot.com
|
||||
http://circservices.wikidot.com
|
||||
http://ciscotr.wikidot.com
|
||||
http://cityofangels.wikidot.com
|
||||
http://cleanias.wikidot.com
|
||||
http://cmbeta.wikidot.com
|
||||
http://coffeetime.wikidot.com
|
||||
http://coffeetimex.wikidot.com
|
||||
http://colbycriminaljustice.wikidot.com
|
||||
http://columbiacity.wikidot.com
|
||||
http://comando05.wikidot.com
|
||||
http://comando05ptbr.wikidot.com
|
||||
http://commandement-alpha.wikidot.com
|
||||
http://commandemento5.wikidot.com
|
||||
http://communicity.wikidot.com
|
||||
http://communicity2010.wikidot.com
|
||||
http://community-playground.wikidot.com
|
||||
http://community.wikidot.com
|
||||
http://computer0.wikidot.com
|
||||
http://comux.wikidot.com
|
||||
http://connorscampaigns.wikidot.com
|
||||
http://connorscentral.wikidot.com
|
||||
http://connorsgmnotes.wikidot.com
|
||||
http://connorssettings.wikidot.com
|
||||
http://consumerpsych2009.wikidot.com
|
||||
http://convert.wikidot.com
|
||||
http://copernicon.wikidot.com
|
||||
http://corvidcollege.wikidot.com
|
||||
http://corwyn.wikidot.com
|
||||
http://cpp-wiki.wikidot.com
|
||||
http://cquniversity.wikidot.com
|
||||
http://crashfeverwikitw.wikidot.com
|
||||
http://crimjobs2010-2011.wikidot.com
|
||||
http://crm-iseg.wikidot.com
|
||||
http://crm-template.wikidot.com
|
||||
http://crosswindsgarou.wikidot.com
|
||||
http://crypsis-net.wikidot.com
|
||||
http://cs0.wikidot.com
|
||||
http://cs1.wikidot.com
|
||||
http://cs101c.wikidot.com
|
||||
http://cs124project-2009.wikidot.com
|
||||
http://csc180.wikidot.com
|
||||
http://csi.wikidot.com
|
||||
http://css-competition.wikidot.com
|
||||
http://css-sandbox.wikidot.com
|
||||
http://css.wikidot.com
|
||||
http://css3.wikidot.com
|
||||
http://css3themes.wikidot.com
|
||||
http://cst133a.wikidot.com
|
||||
http://ctwiki.wikidot.com
|
||||
http://cuarteldelo5.wikidot.com
|
||||
http://cubesat.wikidot.com
|
||||
http://cuiltheory.wikidot.com
|
||||
http://cunefa2.wikidot.com
|
||||
http://cunefb2.wikidot.com
|
||||
http://cunefc2.wikidot.com
|
||||
http://cunefe2.wikidot.com
|
||||
http://cyclods.wikidot.com
|
||||
http://daeren.wikidot.com
|
||||
http://darksouls.wikidot.com
|
||||
http://darksouls2.wikidot.com
|
||||
http://darksouls3.wikidot.com
|
||||
http://dawnofanewage.wikidot.com
|
||||
http://dcernst-teaching.wikidot.com
|
||||
http://dcernst.wikidot.com
|
||||
http://ddscat.wikidot.com
|
||||
http://defa.wikidot.com
|
||||
http://default-template.wikidot.com
|
||||
http://defunct-elitequestworlds.wikidot.com
|
||||
http://demonssouls.wikidot.com
|
||||
http://denver.wikidot.com
|
||||
http://desenvolvimentodejogos.wikidot.com
|
||||
http://design-illustration.wikidot.com
|
||||
http://destiny.wikidot.com
|
||||
http://detailed-customer-management.wikidot.com
|
||||
http://dndis.wikidot.com
|
||||
http://docpl.wikidot.com
|
||||
http://dokument-uz.wikidot.com
|
||||
http://dotflow.wikidot.com
|
||||
http://downsfolk.wikidot.com
|
||||
http://dowodztwo.wikidot.com
|
||||
http://dragon-trees.wikidot.com
|
||||
http://dreamprogram.wikidot.com
|
||||
http://dreamteam.wikidot.com
|
||||
http://dresdenfiles.wikidot.com
|
||||
http://ds09.wikidot.com
|
||||
http://ds10.wikidot.com
|
||||
http://ds2009a.wikidot.com
|
||||
http://ds2010a.wikidot.com
|
||||
http://dwd.wikidot.com
|
||||
http://e-h-s.wikidot.com
|
||||
http://earlychildhood.wikidot.com
|
||||
http://eberronunlimited.wikidot.com
|
||||
http://ecadmin.wikidot.com
|
||||
http://ecctimeline.wikidot.com
|
||||
http://echobazaar.wikidot.com
|
||||
http://ecomind.wikidot.com
|
||||
http://editor.wikidot.com
|
||||
http://editora.wikidot.com
|
||||
http://edmw.wikidot.com
|
||||
http://educ400-401.wikidot.com
|
||||
http://education-template.wikidot.com
|
||||
http://efepereth.wikidot.com
|
||||
http://eime.wikidot.com
|
||||
http://eitriggcrafting.wikidot.com
|
||||
http://ejs-in-india.wikidot.com
|
||||
http://eldritch00.wikidot.com
|
||||
http://elishapeterson.wikidot.com
|
||||
http://elsirvale.wikidot.com
|
||||
http://elunesjustice.wikidot.com
|
||||
http://emchina2010.wikidot.com
|
||||
http://enchantedbros.wikidot.com
|
||||
http://encyclowiki.wikidot.com
|
||||
http://energyclub.wikidot.com
|
||||
http://energyclub4samvedna.wikidot.com
|
||||
http://energyfuture.wikidot.com
|
||||
http://eng1d1.wikidot.com
|
||||
http://eng270.wikidot.com
|
||||
http://epimreth.wikidot.com
|
||||
http://epitome.wikidot.com
|
||||
http://esperanto.wikidot.com
|
||||
http://estudianteseconomiauned.wikidot.com
|
||||
http://eventidemush.wikidot.com
|
||||
http://everydaymagicalgirls.wikidot.com
|
||||
http://evilhat.wikidot.com
|
||||
http://execs.wikidot.com
|
||||
http://exploringsciencewiki.wikidot.com
|
||||
http://extrabees.wikidot.com
|
||||
http://f650cs.wikidot.com
|
||||
http://fairfieldproject.wikidot.com
|
||||
http://falchionvalley.wikidot.com
|
||||
http://fallout2online.wikidot.com
|
||||
http://faq.wikidot.com
|
||||
http://fearschemistry.wikidot.com
|
||||
http://fed20.wikidot.com
|
||||
http://feedback-template.wikidot.com
|
||||
http://feedback.wikidot.com
|
||||
http://fifa360.wikidot.com
|
||||
http://fifabeapro360.wikidot.com
|
||||
http://fightcorruption.wikidot.com
|
||||
http://figmentregistry.wikidot.com
|
||||
http://fillionempire.wikidot.com
|
||||
http://finalfantasy14fr.wikidot.com
|
||||
http://first-steps.wikidot.com
|
||||
http://flyclear.wikidot.com
|
||||
http://fmi.wikidot.com
|
||||
http://fmiseria3.wikidot.com
|
||||
http://fondationscp.wikidot.com
|
||||
http://fondationscpsandbox.wikidot.com
|
||||
http://fondazionescp.wikidot.com
|
||||
http://fortean.wikidot.com
|
||||
http://forum-template.wikidot.com
|
||||
http://forum.wikidot.com
|
||||
http://fourthwallgames.wikidot.com
|
||||
http://fpt.wikidot.com
|
||||
http://freevoddler.wikidot.com
|
||||
http://fretsonfire.wikidot.com
|
||||
http://futaba8fg.wikidot.com
|
||||
http://gagetowngaming.wikidot.com
|
||||
http://galacticunity.wikidot.com
|
||||
http://game-maker.wikidot.com
|
||||
http://gamedesign.wikidot.com
|
||||
http://gamemaker.wikidot.com
|
||||
http://gasbags.wikidot.com
|
||||
http://gd28.wikidot.com
|
||||
http://gdnd.wikidot.com
|
||||
http://gdt2009.wikidot.com
|
||||
http://gear-sandbox.wikidot.com
|
||||
http://geararc.wikidot.com
|
||||
http://genderbinary.wikidot.com
|
||||
http://generals.wikidot.com
|
||||
http://ginnungagap.wikidot.com
|
||||
http://globalseminarhealth.wikidot.com
|
||||
http://goddardtech.wikidot.com
|
||||
http://gorszy.wikidot.com
|
||||
http://greatestfilipino.wikidot.com
|
||||
http://green-house.wikidot.com
|
||||
http://guitarzero.wikidot.com
|
||||
http://gurpswiki.wikidot.com
|
||||
http://h205.wikidot.com
|
||||
http://hackersderede.wikidot.com
|
||||
http://halfmoonbay.wikidot.com
|
||||
http://hammer-template.wikidot.com
|
||||
http://handbook.wikidot.com
|
||||
http://harvey-capital-lectures.wikidot.com
|
||||
http://health-matters.wikidot.com
|
||||
http://herbis.wikidot.com
|
||||
http://heroes.wikidot.com
|
||||
http://heroesmush.wikidot.com
|
||||
http://heroesofalvena.wikidot.com
|
||||
http://heroessincity.wikidot.com
|
||||
http://hestia.wikidot.com
|
||||
http://hfwiki.wikidot.com
|
||||
http://hiddenprojectwiki.wikidot.com
|
||||
http://himetop.wikidot.com
|
||||
http://historynewmedia.wikidot.com
|
||||
http://hkcentral.wikidot.com
|
||||
http://hogwarts2092.wikidot.com
|
||||
http://hopkinswhpg.wikidot.com
|
||||
http://housegames.wikidot.com
|
||||
http://hp-intothefire.wikidot.com
|
||||
http://hrpg.wikidot.com
|
||||
http://hscwizards.wikidot.com
|
||||
http://hswiki.wikidot.com
|
||||
http://html50.wikidot.com
|
||||
http://iaac-readings.wikidot.com
|
||||
http://iatkos.wikidot.com
|
||||
http://ibhistory.wikidot.com
|
||||
http://ibi-apedia.wikidot.com
|
||||
http://ibiz.wikidot.com
|
||||
http://ibmathstuff.wikidot.com
|
||||
http://ibphysicsstuff.wikidot.com
|
||||
http://ibstuffqa.wikidot.com
|
||||
http://iceal.wikidot.com
|
||||
http://idrumaaps.wikidot.com
|
||||
http://ifs.wikidot.com
|
||||
http://igen.wikidot.com
|
||||
http://igor.wikidot.com
|
||||
http://imocamp.wikidot.com
|
||||
http://incl.wikidot.com
|
||||
http://inctr-news.wikidot.com
|
||||
http://inctr-palliative-care-handbook.wikidot.com
|
||||
http://inctr.wikidot.com
|
||||
http://indexhibit.wikidot.com
|
||||
http://insomniacramblings.wikidot.com
|
||||
http://installer.wikidot.com
|
||||
http://insurrection-du-chaos-sandbox.wikidot.com
|
||||
http://insurrection-du-chaos.wikidot.com
|
||||
http://inter-irc.wikidot.com
|
||||
http://internationalbatesoninstitute.wikidot.com
|
||||
http://internetior.wikidot.com
|
||||
http://involo.wikidot.com
|
||||
http://ipr10.wikidot.com
|
||||
http://ipr11.wikidot.com
|
||||
http://ipr12.wikidot.com
|
||||
http://iracing.wikidot.com
|
||||
http://irc.wikidot.com
|
||||
http://irongiant.wikidot.com
|
||||
http://irunath.wikidot.com
|
||||
http://is2216.wikidot.com
|
||||
http://ischool.wikidot.com
|
||||
http://isocentre.wikidot.com
|
||||
http://issuetracker-template.wikidot.com
|
||||
http://istar.wikidot.com
|
||||
http://istb-winter2010.wikidot.com
|
||||
http://istep-sandbox.wikidot.com
|
||||
http://itb322uap.wikidot.com
|
||||
http://ivm.wikidot.com
|
||||
http://jakilinux.wikidot.com
|
||||
http://java.wikidot.com
|
||||
http://jayashree.wikidot.com
|
||||
http://jccict.wikidot.com
|
||||
http://johnmerritt.wikidot.com
|
||||
http://join.wikidot.com
|
||||
http://jquery-easyui.wikidot.com
|
||||
http://jslibrary.wikidot.com
|
||||
http://jsukfpsd.wikidot.com
|
||||
http://kalgati.wikidot.com
|
||||
http://kannadanudi.wikidot.com
|
||||
http://karma-lab.wikidot.com
|
||||
http://kdiprivateequity.wikidot.com
|
||||
http://keramik.wikidot.com
|
||||
http://kf59.wikidot.com
|
||||
http://kfmapdb.wikidot.com
|
||||
http://khaidoan.wikidot.com
|
||||
http://kharon.wikidot.com
|
||||
http://kindiy.wikidot.com
|
||||
http://kingsway.wikidot.com
|
||||
http://kingswayeap.wikidot.com
|
||||
http://kingswayelem.wikidot.com
|
||||
http://kingswayielts.wikidot.com
|
||||
http://kingswayint.wikidot.com
|
||||
http://kingswaypreint.wikidot.com
|
||||
http://kingswayupper.wikidot.com
|
||||
http://klps.wikidot.com
|
||||
http://kmhouse.wikidot.com
|
||||
http://kmk.wikidot.com
|
||||
http://knightswrite.wikidot.com
|
||||
http://kodo.wikidot.com
|
||||
http://koty.wikidot.com
|
||||
http://ksemoudania.wikidot.com
|
||||
http://ladyhood66.wikidot.com
|
||||
http://lafundacionscp.wikidot.com
|
||||
http://languagearts8.wikidot.com
|
||||
http://lapidaria.wikidot.com
|
||||
http://lasthaiku.wikidot.com
|
||||
http://latindictionary.wikidot.com
|
||||
http://latmari.wikidot.com
|
||||
http://leplouc.wikidot.com
|
||||
http://lepszy.wikidot.com
|
||||
http://level1wiki.wikidot.com
|
||||
http://libevents.wikidot.com
|
||||
http://liblivadia.wikidot.com
|
||||
http://librarylab.wikidot.com
|
||||
http://lightworks.wikidot.com
|
||||
http://linux0.wikidot.com
|
||||
http://livesupport.wikidot.com
|
||||
http://lmtoelf.wikidot.com
|
||||
http://loosepages.wikidot.com
|
||||
http://ltt.wikidot.com
|
||||
http://lulu.wikidot.com
|
||||
http://m5snapoli.wikidot.com
|
||||
http://ma4140.wikidot.com
|
||||
http://machines-history.wikidot.com
|
||||
http://machinima138.wikidot.com
|
||||
http://mactutorial.wikidot.com
|
||||
http://maegica.wikidot.com
|
||||
http://magiamesterei.wikidot.com
|
||||
http://mainframes.wikidot.com
|
||||
http://majjhima.wikidot.com
|
||||
http://makeyourbot.wikidot.com
|
||||
http://malkavian.wikidot.com
|
||||
http://managerzonemexico.wikidot.com
|
||||
http://maratona.wikidot.com
|
||||
http://marblehornets.wikidot.com
|
||||
http://margopedia.wikidot.com
|
||||
http://marketplace-template.wikidot.com
|
||||
http://marvelreborn.wikidot.com
|
||||
http://marvelrevolution.wikidot.com
|
||||
http://masonic.wikidot.com
|
||||
http://math453fall2008.wikidot.com
|
||||
http://mathaerobics4samvedna.wikidot.com
|
||||
http://mathonline.wikidot.com
|
||||
http://mathroughguides.wikidot.com
|
||||
http://mbitcoin.wikidot.com
|
||||
http://mc-21.wikidot.com
|
||||
http://mcdt25e.wikidot.com
|
||||
http://me1065.wikidot.com
|
||||
http://measurementcamp.wikidot.com
|
||||
http://media.wikidot.com
|
||||
http://miedzymorze.wikidot.com
|
||||
http://minahaplo.wikidot.com
|
||||
http://mis213-2.wikidot.com
|
||||
http://mk2k.wikidot.com
|
||||
http://mkworld.wikidot.com
|
||||
http://mnprek-3.wikidot.com
|
||||
http://monacobayweyr.wikidot.com
|
||||
http://monobook-template.wikidot.com
|
||||
http://monobook.wikidot.com
|
||||
http://monodot-template.wikidot.com
|
||||
http://morningside-genetics.wikidot.com
|
||||
http://morningsidemicro.wikidot.com
|
||||
http://morphopedics.wikidot.com
|
||||
http://mpm.wikidot.com
|
||||
http://mukesh381.wikidot.com
|
||||
http://multiverse-crisis.wikidot.com
|
||||
http://musicgames.wikidot.com
|
||||
http://my-pride.wikidot.com
|
||||
http://mybookworld.wikidot.com
|
||||
http://myslimchatroom.wikidot.com
|
||||
http://myvineyard.wikidot.com
|
||||
http://nanorodsa.wikidot.com
|
||||
http://nanorodthermo.wikidot.com
|
||||
http://narutoitp.wikidot.com
|
||||
http://narutomushrivalry.wikidot.com
|
||||
http://nauticoamager.wikidot.com
|
||||
http://neo-dimension.wikidot.com
|
||||
http://neosteam.wikidot.com
|
||||
http://neozone.wikidot.com
|
||||
http://newapprequirements.wikidot.com
|
||||
http://news.wikidot.com
|
||||
http://nightskysymbology.wikidot.com
|
||||
http://nimin.wikidot.com
|
||||
http://ninjaproxy.wikidot.com
|
||||
http://nirn.wikidot.com
|
||||
http://nnhs-science-restrictedaccess.wikidot.com
|
||||
http://nnhs-science.wikidot.com
|
||||
http://noblebeastwars.wikidot.com
|
||||
http://nomyslamps.wikidot.com
|
||||
http://norron.wikidot.com
|
||||
http://notebook-template.wikidot.com
|
||||
http://notebooks.wikidot.com
|
||||
http://nre509.wikidot.com
|
||||
http://nsb.wikidot.com
|
||||
http://ntumed96.wikidot.com
|
||||
http://nucularelectronics.wikidot.com
|
||||
http://o5command-int.wikidot.com
|
||||
http://o5command-th.wikidot.com
|
||||
http://oblivionshard.wikidot.com
|
||||
http://offtopicarium.wikidot.com
|
||||
http://old-template.wikidot.com
|
||||
http://oneeleventwentyten.wikidot.com
|
||||
http://opend6.wikidot.com
|
||||
http://opensource-template.wikidot.com
|
||||
http://opensuse.wikidot.com
|
||||
http://oppt-sa.wikidot.com
|
||||
http://oregonamhi.wikidot.com
|
||||
http://osx86.wikidot.com
|
||||
http://oversoulgame.wikidot.com
|
||||
http://ozradonc.wikidot.com
|
||||
http://packages.wikidot.com
|
||||
http://pagi.wikidot.com
|
||||
http://pandora-saga.wikidot.com
|
||||
http://papercraft.wikidot.com
|
||||
http://paperworks.wikidot.com
|
||||
http://paradiserpg.wikidot.com
|
||||
http://paradoxhaze.wikidot.com
|
||||
http://paralelo.wikidot.com
|
||||
http://parented.wikidot.com
|
||||
http://passatb5.wikidot.com
|
||||
http://pathtogolarion.wikidot.com
|
||||
http://patriot-box-office.wikidot.com
|
||||
http://patterns.wikidot.com
|
||||
http://pbbg.wikidot.com
|
||||
http://pcg.wikidot.com
|
||||
http://pcif.wikidot.com
|
||||
http://pedhemoncreview.wikidot.com
|
||||
http://perchelinux.wikidot.com
|
||||
http://pernworld.wikidot.com
|
||||
http://personal-template.wikidot.com
|
||||
http://petition-template.wikidot.com
|
||||
http://pfcuq.wikidot.com
|
||||
http://pfseconddarkness.wikidot.com
|
||||
http://phikappatau.wikidot.com
|
||||
http://philosophia.wikidot.com
|
||||
http://philosophiesoflife.wikidot.com
|
||||
http://photo-gallery-template.wikidot.com
|
||||
http://phylo.wikidot.com
|
||||
http://pl.wikidot.com
|
||||
http://playstation3hacksandmods.wikidot.com
|
||||
http://pofomultiquiz.wikidot.com
|
||||
http://pogon.wikidot.com
|
||||
http://polls.wikidot.com
|
||||
http://porphyrarpg.wikidot.com
|
||||
http://porsche.wikidot.com
|
||||
http://pottersarmy.wikidot.com
|
||||
http://predev.wikidot.com
|
||||
http://private-template.wikidot.com
|
||||
http://processexcel.wikidot.com
|
||||
http://professorallred.wikidot.com
|
||||
http://profiles.wikidot.com
|
||||
http://project-template.wikidot.com
|
||||
http://projects.wikidot.com
|
||||
http://ps3indexhelp.wikidot.com
|
||||
http://psi-ppwg.wikidot.com
|
||||
http://psms.wikidot.com
|
||||
http://psrboregon.wikidot.com
|
||||
http://psyc101.wikidot.com
|
||||
http://psychjobsearch.wikidot.com
|
||||
http://psychotronicsdivision.wikidot.com
|
||||
http://pt851.wikidot.com
|
||||
http://puddincupcss.wikidot.com
|
||||
http://puppet.wikidot.com
|
||||
http://pw7890o.wikidot.com
|
||||
http://pylint-messages.wikidot.com
|
||||
http://qttabbar.wikidot.com
|
||||
http://quiat.wikidot.com
|
||||
http://r.wikidot.com
|
||||
http://radonc.wikidot.com
|
||||
http://railgunitp.wikidot.com
|
||||
http://ravenmarches.wikidot.com
|
||||
http://realestate-template.wikidot.com
|
||||
http://redirect-template.wikidot.com
|
||||
http://redsite.wikidot.com
|
||||
http://renegadesofpw.wikidot.com
|
||||
http://reshme.wikidot.com
|
||||
http://reskitchen.wikidot.com
|
||||
http://retrolegends.wikidot.com
|
||||
http://retrowiki.wikidot.com
|
||||
http://reykjavikmanifesto.wikidot.com
|
||||
http://rhetoricalgoddess.wikidot.com
|
||||
http://rmitvnim2007b.wikidot.com
|
||||
http://roadmap.wikidot.com
|
||||
http://roboticsclubucla.wikidot.com
|
||||
http://roboticspedia.wikidot.com
|
||||
http://rock-xproject.wikidot.com
|
||||
http://rtd1261.wikidot.com
|
||||
http://rxwiki.wikidot.com
|
||||
http://s7s.wikidot.com
|
||||
http://sacwwiki.wikidot.com
|
||||
http://salamander724.wikidot.com
|
||||
http://saludintegral.wikidot.com
|
||||
http://samvedna.wikidot.com
|
||||
http://sandboxscpfr.wikidot.com
|
||||
http://sasana.wikidot.com
|
||||
http://sasi555.wikidot.com
|
||||
http://savagetidewithfiretrolls.wikidot.com
|
||||
http://scala.wikidot.com
|
||||
http://schoolsteachersparents.wikidot.com
|
||||
http://schrijven.wikidot.com
|
||||
http://scienceonlinelondon.wikidot.com
|
||||
http://scion-mmp.wikidot.com
|
||||
http://scp-et.wikidot.com
|
||||
http://scp-field-work.wikidot.com
|
||||
http://scp-foundation-origins.wikidot.com
|
||||
http://scp-he.wikidot.com
|
||||
http://scp-hu.wikidot.com
|
||||
http://scp-int-sandbox.wikidot.com
|
||||
http://scp-int.wikidot.com
|
||||
http://scp-international.wikidot.com
|
||||
http://scp-jp-admin.wikidot.com
|
||||
http://scp-jp-archive.wikidot.com
|
||||
http://scp-jp-sandbox2.wikidot.com
|
||||
http://scp-jp-sandbox3.wikidot.com
|
||||
http://scp-jp.wikidot.com
|
||||
http://scp-ko-15c.wikidot.com
|
||||
http://scp-kr.wikidot.com
|
||||
http://scp-la.wikidot.com
|
||||
http://scp-nd.wikidot.com
|
||||
http://scp-nl.wikidot.com
|
||||
http://scp-pl-sandbox.wikidot.com
|
||||
http://scp-pl.wikidot.com
|
||||
http://scp-pt-br.wikidot.com
|
||||
http://scp-pt.wikidot.com
|
||||
http://scp-ru.wikidot.com
|
||||
http://scp-sandbox-3.wikidot.com
|
||||
http://scp-sandbox-la.wikidot.com
|
||||
http://scp-spqr.wikidot.com
|
||||
http://scp-template.wikidot.com
|
||||
http://scp-th-sandbox.wikidot.com
|
||||
http://scp-th.wikidot.com
|
||||
http://scp-tw.wikidot.com
|
||||
http://scp-ukrainian.wikidot.com
|
||||
http://scp-un.wikidot.com
|
||||
http://scp-vn.wikidot.com
|
||||
http://scp-wiki-cn.wikidot.com
|
||||
http://scp-wiki-de.wikidot.com
|
||||
http://scp-wiki.wikidot.com
|
||||
http://scpalex-fh.wikidot.com
|
||||
http://scpclassic.wikidot.com
|
||||
http://scpexplained.wikidot.com
|
||||
http://scpjp-fansite.wikidot.com
|
||||
http://scpkoreahq.wikidot.com
|
||||
http://scpminecraft.wikidot.com
|
||||
http://scpsandbox-jp.wikidot.com
|
||||
http://scpsandbox-pl.wikidot.com
|
||||
http://scpsandbox-ua.wikidot.com
|
||||
http://scpsandbox2.wikidot.com
|
||||
http://scpsandboxbr.wikidot.com
|
||||
http://scpsandboxcn.wikidot.com
|
||||
http://scpsandboxde.wikidot.com
|
||||
http://scpsandboxit.wikidot.com
|
||||
http://scpsandboxnl.wikidot.com
|
||||
http://scpvakfi.wikidot.com
|
||||
http://scpvakfisandbox.wikidot.com
|
||||
http://scpvnsandbox.wikidot.com
|
||||
http://scratch4samvedna.wikidot.com
|
||||
http://serpents-hand.wikidot.com
|
||||
http://sfi.wikidot.com
|
||||
http://sfugamedev.wikidot.com
|
||||
http://shadow4e.wikidot.com
|
||||
http://sharecokecodes.wikidot.com
|
||||
http://shop.wikidot.com
|
||||
http://sicurezzapubblica.wikidot.com
|
||||
http://sidowegraty.wikidot.com
|
||||
http://signaturbogen.wikidot.com
|
||||
http://siluria.wikidot.com
|
||||
http://simtrackipedia.wikidot.com
|
||||
http://sistdig.wikidot.com
|
||||
http://siteclone.wikidot.com
|
||||
http://sky852751.wikidot.com
|
||||
http://skyangel.wikidot.com
|
||||
http://slaythespire.wikidot.com
|
||||
http://sliscomps.wikidot.com
|
||||
http://slownik-geologiczny.wikidot.com
|
||||
http://small-steps.wikidot.com
|
||||
http://smofficer.wikidot.com
|
||||
http://smsalgebra.wikidot.com
|
||||
http://sniktbub.wikidot.com
|
||||
http://snippets.wikidot.com
|
||||
http://snow-template.wikidot.com
|
||||
http://snowleopard.wikidot.com
|
||||
http://sociatecture.wikidot.com
|
||||
http://sociatectureblog.wikidot.com
|
||||
http://socjobs.wikidot.com
|
||||
http://socjobs2011.wikidot.com
|
||||
http://soctech.wikidot.com
|
||||
http://softwarecraftsmanship.wikidot.com
|
||||
http://solariapedia.wikidot.com
|
||||
http://solodarydar.wikidot.com
|
||||
http://solpadeinehelp.wikidot.com
|
||||
http://sortibrige.wikidot.com
|
||||
http://soulslore.wikidot.com
|
||||
http://soymilkls.wikidot.com
|
||||
http://sp1.wikidot.com
|
||||
http://spambotdeathwall.wikidot.com
|
||||
http://sparks.wikidot.com
|
||||
http://sped.wikidot.com
|
||||
http://splinterverse.wikidot.com
|
||||
http://spolecznosc.wikidot.com
|
||||
http://srm.wikidot.com
|
||||
http://st-phelpers.wikidot.com
|
||||
http://stallmanism.wikidot.com
|
||||
http://standard-template.wikidot.com
|
||||
http://starwarsmadness.wikidot.com
|
||||
http://static.wikidot.com
|
||||
http://steelandstone.wikidot.com
|
||||
http://storychip.wikidot.com
|
||||
http://string-theory.wikidot.com
|
||||
http://studiocomments.wikidot.com
|
||||
http://studiolynn.wikidot.com
|
||||
http://suffadv.wikidot.com
|
||||
http://summer350.wikidot.com
|
||||
http://summerisle.wikidot.com
|
||||
http://sunnybrook-academy.wikidot.com
|
||||
http://superjet.wikidot.com
|
||||
http://surreal64ce.wikidot.com
|
||||
http://sw-gis.wikidot.com
|
||||
http://swietomuzyki.wikidot.com
|
||||
http://swwotc.wikidot.com
|
||||
http://talesofhonor.wikidot.com
|
||||
http://talkingpadproject.wikidot.com
|
||||
http://task-management.wikidot.com
|
||||
http://tasker.wikidot.com
|
||||
http://tauren.wikidot.com
|
||||
http://tech-racingcars.wikidot.com
|
||||
http://techblog-template.wikidot.com
|
||||
http://techcomm.wikidot.com
|
||||
http://ten-sb.wikidot.com
|
||||
http://terrasdeportugal.wikidot.com
|
||||
http://tex.wikidot.com
|
||||
http://textanalytics.wikidot.com
|
||||
http://the-nexus.wikidot.com
|
||||
http://theanarchstate.wikidot.com
|
||||
http://theblightedworld.wikidot.com
|
||||
http://thecollaboratory.wikidot.com
|
||||
http://thegamerdome.wikidot.com
|
||||
http://thekingkillerchronicle.wikidot.com
|
||||
http://thelaststory.wikidot.com
|
||||
http://themes.wikidot.com
|
||||
http://thep-serc.wikidot.com
|
||||
http://therafim.wikidot.com
|
||||
http://therafimrpg.wikidot.com
|
||||
http://thesimsonline.wikidot.com
|
||||
http://theskyremains.wikidot.com
|
||||
http://theunforgotten.wikidot.com
|
||||
http://thewake.wikidot.com
|
||||
http://theweird.wikidot.com
|
||||
http://theweirdwest.wikidot.com
|
||||
http://ti-iseg-t12.wikidot.com
|
||||
http://ti-iseg-t19.wikidot.com
|
||||
http://tibasicdev.wikidot.com
|
||||
http://timidgirls.wikidot.com
|
||||
http://tlug.wikidot.com
|
||||
http://tlumaczenia.wikidot.com
|
||||
http://tmduc.wikidot.com
|
||||
http://tradewithsaint.wikidot.com
|
||||
http://translate.wikidot.com
|
||||
http://translators-forum.wikidot.com
|
||||
http://trb-mux.wikidot.com
|
||||
http://triathematician.wikidot.com
|
||||
http://trueblood-dallas.wikidot.com
|
||||
http://try.wikidot.com
|
||||
http://ttu-dom.wikidot.com
|
||||
http://tyf.wikidot.com
|
||||
http://typesets.wikidot.com
|
||||
http://ubmedicinefaqs.wikidot.com
|
||||
http://ucsdgrads.wikidot.com
|
||||
http://ukcw.wikidot.com
|
||||
http://ultimatemutantsofgagetown.wikidot.com
|
||||
http://umassenglishgrad.wikidot.com
|
||||
http://uml.wikidot.com
|
||||
http://underworldlarp.wikidot.com
|
||||
http://uniofbeds.wikidot.com
|
||||
http://urbanmobile.wikidot.com
|
||||
http://uscta.wikidot.com
|
||||
http://user-gemeinschaft.wikidot.com
|
||||
http://usma387.wikidot.com
|
||||
http://valeofcallus.wikidot.com
|
||||
http://veritasbatheo.wikidot.com
|
||||
http://videoart.wikidot.com
|
||||
http://viotikoskosmos.wikidot.com
|
||||
http://virtualwargamer.wikidot.com
|
||||
http://viscomclass.wikidot.com
|
||||
http://visual-records.wikidot.com
|
||||
http://vitalusers.wikidot.com
|
||||
http://vocaro.wikidot.com
|
||||
http://vs-tcg.wikidot.com
|
||||
http://vtls-vital.wikidot.com
|
||||
http://vusb.wikidot.com
|
||||
http://vwinterop.wikidot.com
|
||||
http://vyprmedia.wikidot.com
|
||||
http://w24.wikidot.com
|
||||
http://wanderers-library-ko.wikidot.com
|
||||
http://wanderers-library.wikidot.com
|
||||
http://wanderers-sandbox.wikidot.com
|
||||
http://warsztatywww.wikidot.com
|
||||
http://web0.wikidot.com
|
||||
http://webcomicauthority.wikidot.com
|
||||
http://wfh.wikidot.com
|
||||
http://whanethewhip.wikidot.com
|
||||
http://whatever.wikidot.com
|
||||
http://wherearethejoneses.wikidot.com
|
||||
http://wikidot.com
|
||||
http://wikiedresearch.wikidot.com
|
||||
http://wikiethica.wikidot.com
|
||||
http://wikim5s.wikidot.com
|
||||
http://wikinorm.wikidot.com
|
||||
http://wikiofscience.wikidot.com
|
||||
http://wikirhye.wikidot.com
|
||||
http://wikirmaphil.wikidot.com
|
||||
http://wikistoriaenciclopedia.wikidot.com
|
||||
http://wikitipsgr.wikidot.com
|
||||
http://windycity.wikidot.com
|
||||
http://wiwimush.wikidot.com
|
||||
http://world.wikidot.com
|
||||
http://wow-arrakis.wikidot.com
|
||||
http://wpts.wikidot.com
|
||||
http://wqa.wikidot.com
|
||||
http://writ-111-office-hour-sign-up.wikidot.com
|
||||
http://writingoneeleven.wikidot.com
|
||||
http://wrtg1150.wikidot.com
|
||||
http://wtg.wikidot.com
|
||||
http://www-old.wikidot.com
|
||||
http://wychwood.wikidot.com
|
||||
http://xanadu.wikidot.com
|
||||
http://y31.wikidot.com
|
||||
http://ye-olde-music-industrapedia.wikidot.com
|
||||
http://yo801106.wikidot.com
|
||||
http://yyp.wikidot.com
|
||||
http://zeroshell.wikidot.com
|
||||
http://zmk.wikidot.com
|
||||
http://zodiac-ffrpg.wikidot.com
|
||||
http://zodiac-monster-manual.wikidot.com
|
||||
http://zombiecafe.wikidot.com
|
||||
http://zorya.wikidot.com
|
@ -0,0 +1,214 @@
|
||||
arte
|
||||
cine
|
||||
lengua
|
||||
literatura
|
||||
matematicas
|
||||
ingles
|
||||
frances
|
||||
aleman
|
||||
ruso
|
||||
idiomas
|
||||
geografia
|
||||
historia
|
||||
secundaria
|
||||
bachillerato
|
||||
examen
|
||||
examenes
|
||||
profesor
|
||||
educacion
|
||||
profesores
|
||||
historias
|
||||
extremadura
|
||||
andalucia
|
||||
iberia
|
||||
oceano
|
||||
cultura
|
||||
periodico
|
||||
television
|
||||
radio
|
||||
italiano
|
||||
polaco
|
||||
chino
|
||||
japones
|
||||
coreano
|
||||
musica
|
||||
mozart
|
||||
beethoven
|
||||
asimov
|
||||
newton
|
||||
kilogramo
|
||||
teoria
|
||||
fisica
|
||||
deporte
|
||||
cancion
|
||||
futbol
|
||||
astronomia
|
||||
telescopio
|
||||
cuaderno
|
||||
libro
|
||||
texto
|
||||
pizarra
|
||||
descartes
|
||||
galileo
|
||||
fosiles
|
||||
paisaje
|
||||
fosil
|
||||
paisajes
|
||||
mar
|
||||
oceano
|
||||
espacio
|
||||
meteorologia
|
||||
nubes
|
||||
religion
|
||||
bandera
|
||||
lengua
|
||||
politica
|
||||
biologia
|
||||
quimica
|
||||
medicina
|
||||
tecnologia
|
||||
diagrama
|
||||
mapa
|
||||
mapas
|
||||
dibujos
|
||||
pronunciacion
|
||||
arquitectura
|
||||
compositor
|
||||
pintor
|
||||
pintura
|
||||
escultura
|
||||
museo
|
||||
biblioteca
|
||||
museos
|
||||
bibliotecas
|
||||
enciclopedia
|
||||
diccionario
|
||||
filosofia
|
||||
filosofos
|
||||
feminismo
|
||||
sociologia
|
||||
leyes
|
||||
coche
|
||||
barco
|
||||
avion
|
||||
transporte
|
||||
teatro
|
||||
europa
|
||||
america
|
||||
africa
|
||||
asia
|
||||
oceania
|
||||
australia
|
||||
atlantico
|
||||
mediterraneo
|
||||
fenicios
|
||||
griegos
|
||||
cartagineses
|
||||
palabras
|
||||
numeros
|
||||
escritura
|
||||
isla
|
||||
java
|
||||
python
|
||||
programacion
|
||||
piramide
|
||||
cuadrado
|
||||
geometria
|
||||
rectangulo
|
||||
circulo
|
||||
ciencia
|
||||
marx
|
||||
engels
|
||||
platon
|
||||
socrates
|
||||
continente
|
||||
tormenta
|
||||
terremoto
|
||||
proyecto
|
||||
glosario
|
||||
vocabulario
|
||||
aprender
|
||||
recursos
|
||||
lectura
|
||||
comunicacion
|
||||
salud
|
||||
bienestar
|
||||
europeo
|
||||
africano
|
||||
asiatico
|
||||
americano
|
||||
wiki
|
||||
wikis
|
||||
documental
|
||||
documentales
|
||||
bibliografia
|
||||
documentacion
|
||||
ciencias
|
||||
naturales
|
||||
sociales
|
||||
inteligencia
|
||||
investigacion
|
||||
cientifico
|
||||
tecnico
|
||||
cientifica
|
||||
enlaces
|
||||
antropologia
|
||||
arqueologia
|
||||
arqueologo
|
||||
filologia
|
||||
arduino
|
||||
software
|
||||
hardware
|
||||
computador
|
||||
ordenador
|
||||
siglo xx
|
||||
siglo xix
|
||||
siglo xviii
|
||||
siglo xvii
|
||||
siglo xvi
|
||||
siglo xv
|
||||
libros
|
||||
marte
|
||||
tierra
|
||||
mercurio
|
||||
jupiter
|
||||
saturno
|
||||
urano
|
||||
neptuno
|
||||
pluton
|
||||
cometa
|
||||
asteroide
|
||||
luna
|
||||
pajaro
|
||||
ave
|
||||
aves
|
||||
reptil
|
||||
reptiles
|
||||
flores
|
||||
arboles
|
||||
flor
|
||||
dictadura
|
||||
democracia
|
||||
parlamento
|
||||
universidad
|
||||
universidades
|
||||
empresa
|
||||
comida
|
||||
alimento
|
||||
equipo
|
||||
lampara
|
||||
luz
|
||||
bombilla
|
||||
electricidad
|
||||
frigorifico
|
||||
lavadora
|
||||
mueble
|
||||
fregona
|
||||
espacio
|
||||
sol
|
||||
estrella
|
||||
fenomeno
|
||||
hispanico
|
||||
hispanica
|
||||
biodiversidad
|
||||
guerra fria
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,86 @@
|
||||
#!/usr/bin/env python2
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Copyright (C) 2018 WikiTeam developers
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
import random
|
||||
import re
|
||||
import time
|
||||
import urllib.request
|
||||
|
||||
def main():
|
||||
opener = urllib.request.build_opener()
|
||||
opener.addheaders = [('User-agent', 'Mozilla/5.0')]
|
||||
urllib.request.install_opener(opener)
|
||||
|
||||
words = []
|
||||
with open('words.txt', 'r') as f:
|
||||
words = f.read().strip().splitlines()
|
||||
random.shuffle(words)
|
||||
print('Loaded %d words from file' % (len(words)))
|
||||
#words = words + ['%d' % (i) for i in range(1900, 1980, 10)]
|
||||
wikis = []
|
||||
with open('wikispaces-duckduckgo.txt', 'r') as f:
|
||||
wikis = f.read().strip().splitlines()
|
||||
wikis.sort()
|
||||
print('Loaded %d wikis from file' % (len(wikis)))
|
||||
|
||||
for i in range(1, 100):
|
||||
random.shuffle(words)
|
||||
for word in words:
|
||||
print('Word', word)
|
||||
word_ = re.sub(' ', '+', word)
|
||||
url = ''
|
||||
r = random.randint(0, 10)
|
||||
if r == 0:
|
||||
url = 'https://duckduckgo.com/html/?q=%s%%20site:wikispaces.com' % (word_)
|
||||
elif r == 1:
|
||||
url = 'https://duckduckgo.com/html/?q=%s%%20wikispaces.com' % (word_)
|
||||
elif r == 2:
|
||||
url = 'https://duckduckgo.com/html/?q=%s%%20%s%%20wikispaces.com' % (word_, random.randint(100, 3000))
|
||||
elif r == 3:
|
||||
url = 'https://duckduckgo.com/html/?q=%s%%20%s%%20wikispaces.com' % (random.randint(100, 3000), word_)
|
||||
else:
|
||||
url = 'https://duckduckgo.com/html/?q=%s%%20%s%%20wikispaces.com' % (word_, random.randint(100, 3000))
|
||||
print('URL search', url)
|
||||
try:
|
||||
html = urllib.request.urlopen(url).read().decode('utf-8')
|
||||
except:
|
||||
print('Search error')
|
||||
sys.exit()
|
||||
html = urllib.parse.unquote(html)
|
||||
m = re.findall(r'://([^/]+?\.wikispaces\.com)', html)
|
||||
for wiki in m:
|
||||
wiki = 'https://' + wiki
|
||||
if not wiki in wikis:
|
||||
wikis.append(wiki)
|
||||
wikis.sort()
|
||||
print(wiki)
|
||||
with open('wikispaces-duckduckgo.txt', 'w') as f:
|
||||
wikis2 = []
|
||||
for wiki in wikis:
|
||||
wiki = re.sub(r'https://www\.', 'https://', wiki)
|
||||
if not wiki in wikis2:
|
||||
wikis2.append(wiki)
|
||||
wikis = wikis2
|
||||
wikis.sort()
|
||||
f.write('\n'.join(wikis))
|
||||
print('%d wikis found' % (len(wikis)))
|
||||
sleep = random.randint(5,20)
|
||||
print('Sleeping %d seconds' % (sleep))
|
||||
time.sleep(sleep)
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,214 @@
|
||||
arte
|
||||
cine
|
||||
lengua
|
||||
literatura
|
||||
matematicas
|
||||
ingles
|
||||
frances
|
||||
aleman
|
||||
ruso
|
||||
idiomas
|
||||
geografia
|
||||
historia
|
||||
secundaria
|
||||
bachillerato
|
||||
examen
|
||||
examenes
|
||||
profesor
|
||||
educacion
|
||||
profesores
|
||||
historias
|
||||
extremadura
|
||||
andalucia
|
||||
iberia
|
||||
oceano
|
||||
cultura
|
||||
periodico
|
||||
television
|
||||
radio
|
||||
italiano
|
||||
polaco
|
||||
chino
|
||||
japones
|
||||
coreano
|
||||
musica
|
||||
mozart
|
||||
beethoven
|
||||
asimov
|
||||
newton
|
||||
kilogramo
|
||||
teoria
|
||||
fisica
|
||||
deporte
|
||||
cancion
|
||||
futbol
|
||||
astronomia
|
||||
telescopio
|
||||
cuaderno
|
||||
libro
|
||||
texto
|
||||
pizarra
|
||||
descartes
|
||||
galileo
|
||||
fosiles
|
||||
paisaje
|
||||
fosil
|
||||
paisajes
|
||||
mar
|
||||
oceano
|
||||
espacio
|
||||
meteorologia
|
||||
nubes
|
||||
religion
|
||||
bandera
|
||||
lengua
|
||||
politica
|
||||
biologia
|
||||
quimica
|
||||
medicina
|
||||
tecnologia
|
||||
diagrama
|
||||
mapa
|
||||
mapas
|
||||
dibujos
|
||||
pronunciacion
|
||||
arquitectura
|
||||
compositor
|
||||
pintor
|
||||
pintura
|
||||
escultura
|
||||
museo
|
||||
biblioteca
|
||||
museos
|
||||
bibliotecas
|
||||
enciclopedia
|
||||
diccionario
|
||||
filosofia
|
||||
filosofos
|
||||
feminismo
|
||||
sociologia
|
||||
leyes
|
||||
coche
|
||||
barco
|
||||
avion
|
||||
transporte
|
||||
teatro
|
||||
europa
|
||||
america
|
||||
africa
|
||||
asia
|
||||
oceania
|
||||
australia
|
||||
atlantico
|
||||
mediterraneo
|
||||
fenicios
|
||||
griegos
|
||||
cartagineses
|
||||
palabras
|
||||
numeros
|
||||
escritura
|
||||
isla
|
||||
java
|
||||
python
|
||||
programacion
|
||||
piramide
|
||||
cuadrado
|
||||
geometria
|
||||
rectangulo
|
||||
circulo
|
||||
ciencia
|
||||
marx
|
||||
engels
|
||||
platon
|
||||
socrates
|
||||
continente
|
||||
tormenta
|
||||
terremoto
|
||||
proyecto
|
||||
glosario
|
||||
vocabulario
|
||||
aprender
|
||||
recursos
|
||||
lectura
|
||||
comunicacion
|
||||
salud
|
||||
bienestar
|
||||
europeo
|
||||
africano
|
||||
asiatico
|
||||
americano
|
||||
wiki
|
||||
wikis
|
||||
documental
|
||||
documentales
|
||||
bibliografia
|
||||
documentacion
|
||||
ciencias
|
||||
naturales
|
||||
sociales
|
||||
inteligencia
|
||||
investigacion
|
||||
cientifico
|
||||
tecnico
|
||||
cientifica
|
||||
enlaces
|
||||
antropologia
|
||||
arqueologia
|
||||
arqueologo
|
||||
filologia
|
||||
arduino
|
||||
software
|
||||
hardware
|
||||
computador
|
||||
ordenador
|
||||
siglo xx
|
||||
siglo xix
|
||||
siglo xviii
|
||||
siglo xvii
|
||||
siglo xvi
|
||||
siglo xv
|
||||
libros
|
||||
marte
|
||||
tierra
|
||||
mercurio
|
||||
jupiter
|
||||
saturno
|
||||
urano
|
||||
neptuno
|
||||
pluton
|
||||
cometa
|
||||
asteroide
|
||||
luna
|
||||
pajaro
|
||||
ave
|
||||
aves
|
||||
reptil
|
||||
reptiles
|
||||
flores
|
||||
arboles
|
||||
flor
|
||||
dictadura
|
||||
democracia
|
||||
parlamento
|
||||
universidad
|
||||
universidades
|
||||
empresa
|
||||
comida
|
||||
alimento
|
||||
equipo
|
||||
lampara
|
||||
luz
|
||||
bombilla
|
||||
electricidad
|
||||
frigorifico
|
||||
lavadora
|
||||
mueble
|
||||
fregona
|
||||
espacio
|
||||
sol
|
||||
estrella
|
||||
fenomeno
|
||||
hispanico
|
||||
hispanica
|
||||
biodiversidad
|
||||
guerra fria
|
@ -0,0 +1,458 @@
|
||||
#!/usr/bin/env python2
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Copyright (C) 2018 WikiTeam developers
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
# Documentation for users: https://github.com/WikiTeam/wikiteam/wiki
|
||||
# Documentation for developers: http://wikiteam.readthedocs.com
|
||||
|
||||
import csv
|
||||
import datetime
|
||||
import os
|
||||
import random
|
||||
import re
|
||||
import subprocess
|
||||
import sys
|
||||
import time
|
||||
import urllib.request
|
||||
#from internetarchive import get_item
|
||||
|
||||
# Requirements:
|
||||
# zip command (apt-get install zip)
|
||||
# ia command (pip install internetarchive, and configured properly)
|
||||
|
||||
"""
|
||||
# You need a file with access and secret keys, in two different lines
|
||||
iakeysfilename = '%s/.iakeys' % (os.path.expanduser('~'))
|
||||
if os.path.exists(iakeysfilename):
|
||||
accesskey = open(iakeysfilename, 'r').readlines()[0].strip()
|
||||
secretkey = open(iakeysfilename, 'r').readlines()[1].strip()
|
||||
else:
|
||||
print('Error, no %s file with S3 keys for Internet Archive account' % (iakeysfilename))
|
||||
sys.exit()
|
||||
"""
|
||||
|
||||
def saveURL(wikidomain='', url='', filename='', path='', overwrite=False, iteration=1):
|
||||
filename2 = '%s/%s' % (wikidomain, filename)
|
||||
if path:
|
||||
filename2 = '%s/%s/%s' % (wikidomain, path, filename)
|
||||
if os.path.exists(filename2):
|
||||
if not overwrite:
|
||||
print('Warning: file exists on disk. Skipping download. Force download with parameter --overwrite')
|
||||
return
|
||||
opener = urllib.request.build_opener()
|
||||
opener.addheaders = [('User-agent', 'Mozilla/5.0')]
|
||||
urllib.request.install_opener(opener)
|
||||
try:
|
||||
urllib.request.urlretrieve(url, filename2)
|
||||
except:
|
||||
sleep = 10 # seconds
|
||||
maxsleep = 30
|
||||
while sleep <= maxsleep:
|
||||
try:
|
||||
print('Error while retrieving: %s' % (url))
|
||||
print('Retry in %s seconds...' % (sleep))
|
||||
time.sleep(sleep)
|
||||
urllib.request.urlretrieve(url, filename2)
|
||||
return
|
||||
except:
|
||||
sleep = sleep * 2
|
||||
print('Download failed')
|
||||
|
||||
#sometimes wikispaces returns invalid data, redownload in that cases
|
||||
#only 'pages'. 'files' binaries are a pain to open and check
|
||||
if (os.path.exists(filename2) and 'pages' in path) or \
|
||||
(os.path.exists(filename2) and path == '' and filename2.split('.')[-1] in ['xml', 'html', 'csv']):
|
||||
sleep2 = 60 * iteration
|
||||
raw = ''
|
||||
try:
|
||||
with open(filename2, 'r', encoding='utf-8') as f:
|
||||
raw = f.read()
|
||||
except:
|
||||
with open(filename2, 'r', encoding='latin-1') as f:
|
||||
raw = f.read()
|
||||
if re.findall(r'(?im)<title>TES and THE Status</title>', raw):
|
||||
print('Warning: invalid content. Waiting %d seconds and re-downloading' % (sleep2))
|
||||
time.sleep(sleep2)
|
||||
saveURL(wikidomain=wikidomain, url=url, filename=filename, path=path, overwrite=overwrite, iteration=iteration+1)
|
||||
|
||||
def undoHTMLEntities(text=''):
|
||||
""" Undo some HTML codes """
|
||||
|
||||
# i guess only < > & " ' need conversion
|
||||
# http://www.w3schools.com/html/html_entities.asp
|
||||
text = re.sub('<', '<', text)
|
||||
text = re.sub('>', '>', text)
|
||||
text = re.sub('&', '&', text)
|
||||
text = re.sub('"', '"', text)
|
||||
text = re.sub(''', '\'', text)
|
||||
|
||||
return text
|
||||
|
||||
def convertHTML2Wikitext(wikidomain='', filename='', path=''):
|
||||
wikitext = ''
|
||||
wikitextfile = '%s/%s/%s' % (wikidomain, path, filename)
|
||||
if not os.path.exists(wikitextfile):
|
||||
print('Error retrieving wikitext, page is a redirect probably')
|
||||
return
|
||||
with open(wikitextfile, 'r') as f:
|
||||
wikitext = f.read()
|
||||
with open(wikitextfile, 'w') as f:
|
||||
m = re.findall(r'(?im)<div class="WikispacesContent WikispacesBs3">\s*<pre>', wikitext)
|
||||
if m:
|
||||
try:
|
||||
wikitext = wikitext.split(m[0])[1].split('</pre>')[0].strip()
|
||||
wikitext = undoHTMLEntities(text=wikitext)
|
||||
except:
|
||||
pass
|
||||
f.write(wikitext)
|
||||
|
||||
def downloadPage(wikidomain='', wikiurl='', pagename='', overwrite=False):
|
||||
pagenameplus = re.sub(' ', '+', pagename)
|
||||
pagename_ = urllib.parse.quote(pagename)
|
||||
|
||||
#page current revision (html & wikitext)
|
||||
pageurl = '%s/%s' % (wikiurl, pagename_)
|
||||
filename = '%s.html' % (pagenameplus)
|
||||
print('Downloading page: %s' % (filename))
|
||||
saveURL(wikidomain=wikidomain, url=pageurl, filename=filename, path='pages', overwrite=overwrite)
|
||||
pageurl2 = '%s/page/code/%s' % (wikiurl, pagename_)
|
||||
filename2 = '%s.wikitext' % (pagenameplus)
|
||||
print('Downloading page: %s' % (filename2))
|
||||
saveURL(wikidomain=wikidomain, url=pageurl2, filename=filename2, path='pages', overwrite=overwrite)
|
||||
convertHTML2Wikitext(wikidomain=wikidomain, filename=filename2, path='pages')
|
||||
|
||||
#csv with page history
|
||||
csvurl = '%s/page/history/%s?utable=WikiTablePageHistoryList&ut_csv=1' % (wikiurl, pagename_)
|
||||
csvfilename = '%s.history.csv' % (pagenameplus)
|
||||
print('Downloading page: %s' % (csvfilename))
|
||||
saveURL(wikidomain=wikidomain, url=csvurl, filename=csvfilename, path='pages', overwrite=overwrite)
|
||||
|
||||
def downloadFile(wikidomain='', wikiurl='', filename='', overwrite=False):
|
||||
filenameplus = re.sub(' ', '+', filename)
|
||||
filename_ = urllib.parse.quote(filename)
|
||||
|
||||
#file full resolution
|
||||
fileurl = '%s/file/view/%s' % (wikiurl, filename_)
|
||||
filename = filenameplus
|
||||
print('Downloading file: %s' % (filename))
|
||||
saveURL(wikidomain=wikidomain, url=fileurl, filename=filename, path='files', overwrite=overwrite)
|
||||
|
||||
#csv with file history
|
||||
csvurl = '%s/file/detail/%s?utable=WikiTablePageList&ut_csv=1' % (wikiurl, filename_)
|
||||
csvfilename = '%s.history.csv' % (filenameplus)
|
||||
print('Downloading file: %s' % (csvfilename))
|
||||
saveURL(wikidomain=wikidomain, url=csvurl, filename=csvfilename, path='files', overwrite=overwrite)
|
||||
|
||||
def downloadPagesAndFiles(wikidomain='', wikiurl='', overwrite=False):
|
||||
print('Downloading Pages and Files from %s' % (wikiurl))
|
||||
#csv all pages and files
|
||||
csvurl = '%s/space/content?utable=WikiTablePageList&ut_csv=1' % (wikiurl)
|
||||
saveURL(wikidomain=wikidomain, url=csvurl, filename='pages-and-files.csv', path='')
|
||||
#download every page and file
|
||||
totallines = 0
|
||||
with open('%s/pages-and-files.csv' % (wikidomain), 'r') as f:
|
||||
totallines = len(f.read().splitlines()) - 1
|
||||
with open('%s/pages-and-files.csv' % (wikidomain), 'r') as csvfile:
|
||||
filesc = 0
|
||||
pagesc = 0
|
||||
print('This wiki has %d pages and files' % (totallines))
|
||||
rows = csv.reader(csvfile, delimiter=',', quotechar='"')
|
||||
for row in rows:
|
||||
if row[0] == 'file':
|
||||
filesc += 1
|
||||
filename = row[1]
|
||||
downloadFile(wikidomain=wikidomain, wikiurl=wikiurl, filename=filename, overwrite=overwrite)
|
||||
elif row[0] == 'page':
|
||||
pagesc += 1
|
||||
pagename = row[1]
|
||||
downloadPage(wikidomain=wikidomain, wikiurl=wikiurl, pagename=pagename, overwrite=overwrite)
|
||||
if (filesc + pagesc) % 10 == 0:
|
||||
print(' Progress: %d of %d' % ((filesc + pagesc), totallines))
|
||||
print(' Progress: %d of %d' % ((filesc + pagesc), totallines))
|
||||
print('Downloaded %d pages' % (pagesc))
|
||||
print('Downloaded %d files' % (filesc))
|
||||
|
||||
def downloadSitemap(wikidomain='', wikiurl='', overwrite=False):
|
||||
print('Downloading sitemap.xml')
|
||||
saveURL(wikidomain=wikidomain, url=wikiurl, filename='sitemap.xml', path='', overwrite=overwrite)
|
||||
|
||||
def downloadMainPage(wikidomain='', wikiurl='', overwrite=False):
|
||||
print('Downloading index.html')
|
||||
saveURL(wikidomain=wikidomain, url=wikiurl, filename='index.html', path='', overwrite=overwrite)
|
||||
|
||||
def downloadLogo(wikidomain='', wikiurl='', overwrite=False):
|
||||
index = '%s/index.html' % (wikidomain)
|
||||
if os.path.exists(index):
|
||||
raw = ''
|
||||
try:
|
||||
with open(index, 'r', encoding='utf-8') as f:
|
||||
raw = f.read()
|
||||
except:
|
||||
with open(index, 'r', encoding='latin-1') as f:
|
||||
raw = f.read()
|
||||
m = re.findall(r'class="WikiLogo WikiElement"><img src="([^<> "]+?)"', raw)
|
||||
if m:
|
||||
logourl = m[0]
|
||||
logofilename = logourl.split('/')[-1]
|
||||
print('Downloading logo')
|
||||
saveURL(wikidomain=wikidomain, url=logourl, filename=logofilename, path='', overwrite=overwrite)
|
||||
return logofilename
|
||||
return ''
|
||||
|
||||
def printhelp():
|
||||
helptext = """This script downloads (and uploads) WikiSpaces wikis.
|
||||
|
||||
Parameters available:
|
||||
|
||||
--upload: upload compressed file with downloaded wiki
|
||||
--admin: add item to WikiTeam collection (if you are an admin in that collection)
|
||||
--overwrite: download again even if files exists locally
|
||||
--overwrite-ia: upload again to Internet Archive even if item exists there
|
||||
--help: prints this help text
|
||||
|
||||
Examples:
|
||||
|
||||
python3 wikispaces.py https://mywiki.wikispaces.com
|
||||
It downloads that wiki
|
||||
|
||||
python3 wikispaces.py wikis.txt
|
||||
It downloads a list of wikis (file format is a URL per line)
|
||||
|
||||
python3 wikispaces.py https://mywiki.wikispaces.com --upload
|
||||
It downloads that wiki, compress it and uploading to Internet Archive
|
||||
"""
|
||||
print(helptext)
|
||||
sys.exit()
|
||||
|
||||
def duckduckgo():
|
||||
opener = urllib.request.build_opener()
|
||||
opener.addheaders = [('User-agent', 'Mozilla/5.0')]
|
||||
urllib.request.install_opener(opener)
|
||||
|
||||
wikis = []
|
||||
ignorewikis = [
|
||||
'https://wikispaces.com',
|
||||
'https://www.wikispaces.com',
|
||||
'https://wikispaces.net',
|
||||
'https://www.wikispaces.net',
|
||||
]
|
||||
for i in range(1, 100000):
|
||||
url = 'https://duckduckgo.com/html/?q=%s%%20%s%%20site:wikispaces.com' % (random.randint(100, 5000), random.randint(1000, 9999))
|
||||
print('URL search', url)
|
||||
try:
|
||||
html = urllib.request.urlopen(url).read().decode('utf-8')
|
||||
except:
|
||||
print('Search error')
|
||||
time.sleep(30)
|
||||
continue
|
||||
html = urllib.parse.unquote(html)
|
||||
m = re.findall(r'://([^/]+?\.wikispaces\.com)', html)
|
||||
for wiki in m:
|
||||
wiki = 'https://' + wiki
|
||||
wiki = re.sub(r'https://www\.', 'https://', wiki)
|
||||
if not wiki in wikis and not wiki in ignorewikis:
|
||||
wikis.append(wiki)
|
||||
yield wiki
|
||||
sleep = random.randint(5,20)
|
||||
print('Sleeping %d seconds' % (sleep))
|
||||
time.sleep(sleep)
|
||||
|
||||
def main():
|
||||
upload = False
|
||||
isadmin = False
|
||||
overwrite = False
|
||||
overwriteia = False
|
||||
if len(sys.argv) < 2:
|
||||
printhelp()
|
||||
param = sys.argv[1]
|
||||
if not param:
|
||||
printhelp()
|
||||
if len(sys.argv) > 2:
|
||||
if '--upload' in sys.argv:
|
||||
upload = True
|
||||
if '--admin' in sys.argv:
|
||||
isadmin = True
|
||||
if '--overwrite' in sys.argv:
|
||||
overwrite = True
|
||||
if '--overwrite-ia' in sys.argv:
|
||||
overwriteia = True
|
||||
if '--help' in sys.argv:
|
||||
printhelp()
|
||||
|
||||
wikilist = []
|
||||
if '://' in param:
|
||||
wikilist.append(param.rstrip('/'))
|
||||
elif param.lower() == 'duckduckgo':
|
||||
wikilist = duckduckgo()
|
||||
#for wiki in wikilist:
|
||||
# print(wiki)
|
||||
else:
|
||||
with open(param, 'r') as f:
|
||||
wikilist = f.read().strip().splitlines()
|
||||
wikilist2 = []
|
||||
for wiki in wikilist:
|
||||
wikilist2.append(wiki.rstrip('/'))
|
||||
wikilist = wikilist2
|
||||
|
||||
for wikiurl in wikilist:
|
||||
wikidomain = wikiurl.split('://')[1].split('/')[0]
|
||||
print('\n')
|
||||
print('#'*40,'\n Downloading:', wikiurl)
|
||||
print('#'*40,'\n')
|
||||
|
||||
if upload and not overwriteia:
|
||||
itemid = 'wiki-%s' % (wikidomain)
|
||||
try:
|
||||
iahtml = ''
|
||||
try:
|
||||
iahtml = urllib.request.urlopen('https://archive.org/details/%s' % (itemid)).read().decode('utf-8')
|
||||
except:
|
||||
time.sleep(10)
|
||||
iahtml = urllib.request.urlopen('https://archive.org/details/%s' % (itemid)).read().decode('utf-8')
|
||||
if iahtml and not re.findall(r'(?im)Item cannot be found', iahtml):
|
||||
if not overwriteia:
|
||||
print('Warning: item exists on Internet Archive. Skipping wiki. Force with parameter --overwrite-ia')
|
||||
print('You can find it in https://archive.org/details/%s' % (itemid))
|
||||
time.sleep(1)
|
||||
continue
|
||||
except:
|
||||
pass
|
||||
|
||||
dirfiles = '%s/files' % (wikidomain)
|
||||
if not os.path.exists(dirfiles):
|
||||
print('Creating directory %s' % (dirfiles))
|
||||
os.makedirs(dirfiles)
|
||||
dirpages = '%s/pages' % (wikidomain)
|
||||
if not os.path.exists(dirpages):
|
||||
print('Creating directory %s' % (dirpages))
|
||||
os.makedirs(dirpages)
|
||||
sitemapurl = 'https://%s/sitemap.xml' % (wikidomain)
|
||||
|
||||
downloadSitemap(wikidomain=wikidomain, wikiurl=sitemapurl, overwrite=overwrite)
|
||||
if not os.path.exists('%s/sitemap.xml' % (wikidomain)):
|
||||
print('Error, wiki was probably deleted. Skiping wiki...')
|
||||
continue
|
||||
else:
|
||||
sitemapraw = ''
|
||||
try:
|
||||
with open('%s/sitemap.xml' % (wikidomain), encoding='utf-8') as g:
|
||||
sitemapraw = g.read()
|
||||
except:
|
||||
with open('%s/sitemap.xml' % (wikidomain), encoding='latin-1') as g:
|
||||
sitemapraw = g.read()
|
||||
if re.search(r'(?im)<h1>This wiki has been deactivated</h1>', sitemapraw):
|
||||
print('Error, wiki was deactivated. Skiping wiki...')
|
||||
continue
|
||||
|
||||
downloadMainPage(wikidomain=wikidomain, wikiurl=wikiurl, overwrite=overwrite)
|
||||
if not os.path.exists('%s/index.html' % (wikidomain)):
|
||||
print('Error, wiki was probably deleted or expired. Skiping wiki...')
|
||||
continue
|
||||
else:
|
||||
indexraw = ''
|
||||
try:
|
||||
with open('%s/index.html' % (wikidomain), encoding='utf-8') as g:
|
||||
indexraw = g.read()
|
||||
except:
|
||||
with open('%s/index.html' % (wikidomain), encoding='latin-1') as g:
|
||||
indexraw = g.read()
|
||||
if re.search(r'(?im)<h1>Subscription Expired</h1>', indexraw):
|
||||
print('Error, wiki subscription expired. Skiping wiki...')
|
||||
continue
|
||||
|
||||
downloadPagesAndFiles(wikidomain=wikidomain, wikiurl=wikiurl, overwrite=overwrite)
|
||||
logofilename = downloadLogo(wikidomain=wikidomain, wikiurl=wikiurl, overwrite=overwrite)
|
||||
|
||||
if upload:
|
||||
itemid = 'wiki-%s' % (wikidomain)
|
||||
print('\nCompressing dump...')
|
||||
wikidir = wikidomain
|
||||
os.chdir(wikidir)
|
||||
print('Changed directory to', os.getcwd())
|
||||
wikizip = '%s.zip' % (wikidomain)
|
||||
subprocess.call('zip' + ' -r ../%s files/ pages/ index.html pages-and-files.csv sitemap.xml %s' % (wikizip, logofilename), shell=True)
|
||||
os.chdir('..')
|
||||
print('Changed directory to', os.getcwd())
|
||||
|
||||
print('\nUploading to Internet Archive...')
|
||||
indexfilename = '%s/index.html' % (wikidir)
|
||||
if not os.path.exists(indexfilename):
|
||||
print('\nError dump incomplete, skipping upload\n')
|
||||
continue
|
||||
indexhtml = ''
|
||||
try:
|
||||
with open(indexfilename, 'r', encoding='utf-8') as f:
|
||||
indexhtml = f.read()
|
||||
except:
|
||||
with open(indexfilename, 'r', encoding='latin-1') as f:
|
||||
indexhtml = f.read()
|
||||
|
||||
wikititle = ''
|
||||
try:
|
||||
wikititle = indexhtml.split('wiki: {')[1].split('}')[0].split("text: '")[1].split("',")[0].strip()
|
||||
except:
|
||||
wikititle = wikidomain
|
||||
if not wikititle:
|
||||
wikititle = wikidomain
|
||||
wikititle = wikititle.replace("\\'", " ")
|
||||
wikititle = wikititle.replace('\\"', " ")
|
||||
itemtitle = 'Wiki - %s' % wikititle
|
||||
itemdesc = '<a href=\"%s\">%s</a> dumped with <a href=\"https://github.com/WikiTeam/wikiteam\" rel=\"nofollow\">WikiTeam</a> tools.' % (wikiurl, wikititle)
|
||||
itemtags = ['wiki', 'wikiteam', 'wikispaces', wikititle, wikidomain.split('.wikispaces.com')[0], wikidomain]
|
||||
itemoriginalurl = wikiurl
|
||||
itemlicenseurl = ''
|
||||
m = ''
|
||||
try:
|
||||
m = re.findall(r'<a rel="license" href="([^<>]+?)">', indexhtml.split('<div class="WikiLicense')[1].split('</div>')[0])
|
||||
except:
|
||||
m = ''
|
||||
if m:
|
||||
itemlicenseurl = m[0]
|
||||
if not itemlicenseurl:
|
||||
itemtags.append('unknowncopyright')
|
||||
itemtags_ = ' '.join(["--metadata='subject:%s'" % (tag) for tag in itemtags])
|
||||
itemcollection = isadmin and 'wikiteam' or 'opensource'
|
||||
itemlang = 'Unknown'
|
||||
itemdate = datetime.datetime.now().strftime("%Y-%m-%d")
|
||||
itemlogo = logofilename and '%s/%s' % (wikidir, logofilename) or ''
|
||||
callplain = "ia upload %s %s %s --metadata='mediatype:web' --metadata='collection:%s' --metadata='title:%s' --metadata='description:%s' --metadata='language:%s' --metadata='last-updated-date:%s' --metadata='originalurl:%s' %s %s" % (itemid, wikizip, itemlogo and itemlogo or '', itemcollection, itemtitle, itemdesc, itemlang, itemdate, itemoriginalurl, itemlicenseurl and "--metadata='licenseurl:%s'" % (itemlicenseurl) or '', itemtags_)
|
||||
print(callplain)
|
||||
subprocess.call(callplain, shell=True)
|
||||
|
||||
"""
|
||||
md = {
|
||||
'mediatype': 'web',
|
||||
'collection': itemcollection,
|
||||
'title': itemtitle,
|
||||
'description': itemdesc,
|
||||
'language': itemlang,
|
||||
'last-updated-date': itemdate,
|
||||
'subject': '; '.join(itemtags),
|
||||
'licenseurl': itemlicenseurl,
|
||||
'originalurl': itemoriginalurl,
|
||||
}
|
||||
item = get_item(itemid)
|
||||
item.upload(wikizip, metadata=md, access_key=accesskey, secret_key=secretkey, verbose=True, queue_derive=False)
|
||||
item.modify_metadata(md)
|
||||
if itemlogo:
|
||||
item.upload(itemlogo, access_key=accesskey, secret_key=secretkey, verbose=True)
|
||||
"""
|
||||
|
||||
print('You can find it in https://archive.org/details/%s' % (itemid))
|
||||
os.remove(wikizip)
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
Loading…
Reference in New Issue