使用Mechanize搜索Pastbin.com

时间:2014-09-02 19:41:06

标签: python mechanize

到目前为止,我借用的代码在Google.com上运行良好,但在pastebin.com上却没有,我会喜欢为什么我无法搜索pastebin.com的一些输入

import re
from mechanize import Browser
br = Browser()

# Ignore robots.txt
br.set_handle_robots( False )
# user-agent that isn't a robot
br.addheaders = [('User-agent', 'Firefox')]

# Retrieve the web page
br.open( "http://pastebin.com" )

# Select the search box and search for 'foo'
br.select_form( 'f' )
br.form[ 'q' ] = 'facebook'

# Get the search results
br.submit()

# Find the link
resp = None
for link in br.links():
    siteMatch = re.compile( 'www.facebook.com' ).search( link.url )
    if siteMatch:
        resp = br.follow_link( link )
        break

# Print the site
content = resp.get_data()
print content

2 个答案:

答案 0 :(得分:0)

br.select_form( 'f' )
br.form[ 'q' ] = 'facebook'

Pastebin主页上没有名为" f"的表格。阅读页面的来源以找到正确的名称。

答案 1 :(得分:0)

您所描述的问题可以通过提供有效的表单名称来解决:

br.select_form(name='search_form')

而且,在尝试获取结果时,您将遇到问题 - 但这是另一个问题的一部分。