Python机械化无控件匹配

2024-09-29 19:20:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图写一个脚本,从一个文件中读取一个域列表,并检查一个域是否是一个WordPress站点。在

当我试图使用关于表单控件的mechanize库时,我遇到了一些错误,在搜索web之后,我找不到任何类似的解决方案。在

使用的代码如下:

br = mechanize.Browser()
br.set_handle_robots(False)
br.addheaders = [("User-agent","Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.13) Gecko/20101206 Ubuntu/10.10 (maverick) Firefox/3.6.13")] 
base_url = br.open("http://www.isitwp.com/")


with open('domains') as f:
    for line in f:
        rowdict['website'] = str(line)
        br.select_form(nr=0)
        br['q'] = str(line)
        isitwp_response = br.submit()
        isitwp_response = isitwp_response.read()
        if "Good news everyone" in a:
            rowdict['iswordpresswebsite'] = "yes"
        else:
            rowdict['iswordpresswebsite'] = "no"

错误如下:

^{pr2}$

Tags: 文件inbr脚本列表response错误line
1条回答
网友
1楼 · 发布于 2024-09-29 19:20:23

在python请求部分看到了这一点,所以我使用请求而不是mechanize来实现这一点。在

没有什么可以解释的,代码是不言而喻的

import requests

url = "https://www.isitwp.com/wp-admin/admin-ajax.php"
with open("domains.txt", "r+") as file: #change domains.txt to whatever your text file is named
    domains = file.read().splitlines()
    file.close()

def iswp(query):
    data = {
    "_ajax_nonce":"f7442b97c8", #you can get it from the website, just do CRTL+F and search for "nonce"
    "action":"get_result",
    "dataType":"json",
    "q":query,
    "recapt":""
    }
    r = requests.post(url, data=data).json()
    if (r["data"]["iswp"] == 0):
        print("{0} is not powered wordpress".format(query))
    else:
        print("{0} is powered by wordpress".format(query))

for domain in domains:
    iswp(domain)

相关问题 更多 >

    热门问题