bluehatterのブログ

bluehatterのブログ

ブログの説明を入力します。

Amebaでブログを始めよう!
こんにちわ。仕事が忙しくなりなかなか書く時間がありませんでした。まだまだ始まったばかりなので書くネタは尽きませんね。
以前まではやや口だけの解説気味だったので今回は少しテッキーな感じで攻めます。

ブラックハットSEOとして所謂自動ポストというのがあります。
これは人のブログにガンガンとポストを投稿していくものですが、手動ではあんまり意味ありませんが、
機械が1000,2000とどんどんポストしていけば、それなりに効果的になっていきます。
ではWordpressを例にとってどうやっているかを説明します。

以前までのHTMLのソースコードを解析してポストしていくという手口でやっていました。Wordpressでは
wp-comments-post.phpというのがよく使われるポスト先なのですが、コレを見つけてはポストすると行った形です。

ただ最近ではただのクローラーではポスト出来ないようになってきています。
そこでブラウザベースのボットなども登場してきました。ここまで来るとユーザーのブラウザかそうでないか見極めることが出来ず、
結局投稿を許してしまいます。

以下にソースコードを載せておきますが、悪用はしないようにしてください。
今回は可読性に優れているPythonを使ってみました。



import urllib, urllib2
import mechanize

def urllib_version():
url="http://hogehoge.com/wordpress/whereyouwantopost/wp-comments-post.php"
values = {'author' : 'Black hatSEO', 'email':'sleepbuster1@hotmail.com', 'comment':'urllib posting. but this function is not working well these days', 'url':''}
data = urllib.urlencode(values)
user_agent = 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)'
urllib_one = False

if only_urllib:
urllib.URLopener.version = user_agent
html = urllib.urlopen( url, data ).read()
else:
## h = { 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
## 'Accept-Language': 'en-us,en;q=0.5',
## 'Connection': 'keep-alive',
## 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:10.0.2) Gecko/20100101 Firefox/10.0.2', }
headers = { 'User-Agent' : user_agent }
req = urllib2.Request(url, data, headers)
response = urllib2.urlopen(req)
html = response.read()
print html

def mechanize_version():
br = mechanize.Browser()

cookie = False
options = False
if cookie:
import cookielib
cj = cookielib.LWPCookieJar()
br.set_cookiejar(cj)
if options:
br.set_handle_equiv(True)
## br.set_handle_gzip(True)
br.set_handle_redirect(True)
br.set_handle_referer(True)
br.set_handle_robots(False)

## br.set_handle_refresh(mechanize._http.HTTPRefreshProcessor(), max_time=1)
br.addheaders = [('User-agent', 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008071615 Fedora/3.0.1-1.fc9 Firefox/3.0.1')]

url="http://hogehoge.com/wordpress/whereyouwantopost"
br.open( url )
br.select_form(nr=0)
# watch the form
for form in br.forms():
print '---------------'
print form
br.form[ 'author' ] = 'bluehatter BlackhatSEO'
br.form[ 'email' ] = 'sleepbuster1@hotmail.com'
br.form[ 'comment' ] = 'Im going to post to some blog with python.'
br.form[ 'url' ] = ''
br.submit()

if __name__ == '__main__':
browser_mode =True
if not browser_mode:
urllib_version()
else:
mechanize_version()


参考にしてみてください。