2
import mechanize,cookielib
br=mechanize.Browser()
cookie_jar=cookielib.CookieJar()
br.set_cookiejar(cookie_jar)
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')]
br.set_handle_referer(True)
br.set_handle_robots(False)
br.open("http://facebook.com/login.php")
br.select_form(nr=0)
br.form['email']=raw_input("Email please: ")
br.form['pass']=raw_input("Password please: ")
br.submit()
if "Logout" in br.response().read():
    print "Successfuly Logged in...May the Spam Process Begin ;) "
else:
    print "Something is wrong with logging in.Sorry :( "
link_to_spam=raw_input("Enter the messages link for the one you want to spam\n\
Example: https://www.facebook.com/messages/someone: ")
br.open(link_to_spam)
for f in br.forms():
    print f

したがって、このコードは facebook のメッセージ フォームを表示していません。また、コードの目的についてコメントしないでください。私はこれを楽しみのためにコーディングしているだけであり、それを受け入れる友人を除いて実際には使用しません。あまり使いません。なぜ表示されないのか、誰にもわかりませんか?

4

2 に答える 2

7

彼らがメッセージにフォームを使用しているかどうかはわかりませんが、おそらく JavaScript です。いずれにせよ、これは Selenium で行うことができます。

まず、Selenium をインストールします: https://pypi.python.org/pypi/selenium

次に、 https ://code.google.com/p/chromedriver/downloads/list から chrome ドライバーをダウンロードします。

作成中の python スクリプトと同じフォルダーにバイナリを配置します。(または、パスなどに追加します。詳細については、https ://code.google.com/p/selenium/wiki/ChromeDriver を参照してください)

その後、次のコードが機能するはずです。

from selenium import webdriver
from selenium.webdriver.common.keys import Keys

driver = webdriver.Chrome()
email = raw_input("Email: ")
password = raw_input("Password: ")
person =raw_input("Enter the messages link for the one you want to spam\n\
Example: https://www.facebook.com/messages/someone: ")
driver.get("http://www.facebook.com")
elem = driver.find_element_by_id("email")
elem.send_keys(email)
elem = driver.find_element_by_id("pass")
elem.send_keys(password)
elem.send_keys(Keys.RETURN)
driver.get("https://facebook.com/messages/"+person)
elem = driver.find_element_by_css_selector("div textarea.uiTextareaNoResize")
elem.send_keys("python test")
elem.send_keys(Keys.RETURN)

実際には新しいウィンドウでクロムを開き、ブラウザにテキストを入力します。

于 2013-07-21T04:53:28.083 に答える