小编gal*_*lly的帖子

如何跟踪有多少用户访问我的网站

我刚刚部署了我的第一个网络应用程序,我很好奇,如果每次有人访问我的网站时有一个简单的方法来跟踪,我确信有但是如何?

python flask pythonanywhere

7
推荐指数
3
解决办法
9135
查看次数

如何在selenium webdriver中使用变量通过xpath查找元素?

所以我有一个名为folder的变量,其中包含我随机生成的字符串.我想使用xpath按名称查找此文件夹,我不知道如何将其付诸实践

driver.find_element_by_xpath('//div[text()="variable"]')
Run Code Online (Sandbox Code Playgroud)

其中变量包含随机文本.使用sql就像这样(select*from table where value =(?)),[variable] ...或类似的东西

python webdriver

6
推荐指数
1
解决办法
6342
查看次数

flask-login不确定如何使用sqlite3使其工作

到目前为止,我已经完成了我的用户对象和登录功能,但是我完全不了解user_loader部分。我很困惑,但是这是我的代码,请指出正确的方向。

@app.route('/login', methods=['GET','POST'])
def login():
    form = Login()
    if form.validate():
        user=request.form['name']
        passw=request.form['password'] 
        c = g.db.execute("SELECT username from users where username = (?)", [user])
        userexists = c.fetchone()
        if userexists:
            c = g.db.execute("SELECT password from users where password = (?)", [passw])
            passwcorrect = c.fetchone()
            if passwcorrect:
                #session['logged_in']=True
                #login_user(user)
                flash("logged in")
                return redirect(url_for('home'))
            else:
                return 'incorrecg pw'
        else:
            return 'fail'
    return render_template('login.html', form=form)

@app.route('/logout')
def logout():
    logout_user()
    return redirect(url_for('home'))
Run Code Online (Sandbox Code Playgroud)

我的用户

class User():

    def __init__(self,name,email,password, active = True):
        self.name = name
        self.email = email …
Run Code Online (Sandbox Code Playgroud)

python flask flask-login

5
推荐指数
1
解决办法
4780
查看次数

如何使用scrapy为crawlspider创建规则

from scrapy.spider import BaseSpider
from scrapy.selector import HtmlXPathSelector
from manga.items import MangaItem

class MangaHere(BaseSpider):
    name = "mangah"
    allowed_domains = ["mangahere.com"]
    start_urls = ["http://www.mangahere.com/seinen/"]

    def parse(self,response):
        hxs = HtmlXPathSelector(response)
        sites = hxs.select('//ul/li/div')
        items = []
        for site in sites:
            rating = site.select("p/span/text()").extract()
            if rating > 4.5:
                item = MangaItem()
                item["title"] = site.select("div/a/text()").extract()
                item["desc"] = site.select("p[2]/text()").extract()
                item["link"] = site.select("div/a/@href").extract()
                item["rate"] = site.select("p/span/text()").extract()
                items.append(item)

        return items
Run Code Online (Sandbox Code Playgroud)

我的目标是抓取www.mangahere.com/seinen或该网站上的任何内容.我想浏览每一页并收集大于4.5评级的书籍.我最初是作为一个basespider,并尝试复制和阅读scrapy教程,但它几乎是我的头脑.我在这里问我该怎么做才能创建我的规则,以及如何制定规则.我也似乎无法让我的条件工作,代码要么只返回第一个项目并停止,无论条件如何,或抓住所有内容,无论条件如何.我知道它可能是相当混乱的代码,但我仍然在努力学习.随意修改代码或提供其他建议

python web-crawler scrapy

3
推荐指数
1
解决办法
1177
查看次数

python中测试自动化的随机数据

我正在使用unittest和selenium来自动化我的浏览器测试.

我将如何进行多次运行的测试,用户创建票证.票证必须有一个标题名称,每次我运行测试我希望标题名称是随机的.

我想格式:"测试票,1 |测试票,2 ......"

python selenium automation webdriver

2
推荐指数
1
解决办法
2783
查看次数

我如何解决这个错误'webelement不支持索引"[webdriver] [python]

我正在进行xpath搜索

page = driver.find_element_by_xpath('//td[@class="mceIframeContainer mceFirst mceLast"]')[1]
Run Code Online (Sandbox Code Playgroud)

这给了我在firebug中需要的第一个类项目,但显然python不允许我将[1]添加到find函数中.有没有解决方法?搜索返回2项,我只需要一项.我接近这个错吗?

python selenium webdriver

2
推荐指数
1
解决办法
8379
查看次数

flask-wtf表单验证不适用于我的新应用程序

我之前使用过烧瓶,并且我已经进行了工作表单验证,但由于某种原因,它不能用于我的新应用程序.这是表单的基本代码.

from flask.ext.wtf import Form, TextField, TextAreaField, SubmitField, validators,ValidationError

class subReddit(Form):
    subreddit = TextField('subreddit', [validators.Required('enter valid subreddit')])
    next = SubmitField('next')
    change = SubmitField('change')
    user = TextField('user', [validators.Required('enter valid user')])
    fetch = SubmitField('fetch comments')
Run Code Online (Sandbox Code Playgroud)

我有subreddit作为验证字段,所以如果它是空的,我希望它抛出错误并重新加载页面.

HTML:

<form class='sub' action="{{ url_for('sr') }}" method='post'>
  {{ form.hidden_tag() }}                    
  <p>
    if you want to enter more than one subreddit, use the + symbol, like this:
    funny+pics+cringepics
  <p>
    <br/>
    {% for error in form.subreddit.errors %}
  <p>{{error}}</p>
  {% endfor %}
  {{form.subreddit.label}}
  {{form.subreddit}}
  {{form.change}}                    
</form>
Run Code Online (Sandbox Code Playgroud)

我的routes.py中也有CSRF_ENABLED = True.我错过了什么?当我将subredditfield留空并单击更改时,它只是重新加载页面,没有错误.这是一个问题,因为该字段中的任何内容都将记录在我的数据库中,并且它不能为空. …

python flask flask-wtforms

1
推荐指数
1
解决办法
1万
查看次数

gradle processResources 似乎正在破坏字体文件

我花了几个小时来解决一个我认为与损坏文件有关的问题。基本上我在 Spring Boot 应用程序中使用 FlyingSaucer 来生成语言兼容的 pdf。我所有的日文/中文/俄文字符都变成了空白。经过深入研究,我了解到我需要安装一个好的 unicode 字体,例如 Arial Unicode MS.ttf。

我已经下载了这个并将其安装在我的 mac 上,看起来不错。我通过将其放入 /resources 并使用 inputStream 获取它来将其放入我的类路径中。当我获取它并将其传递给 BaseFont(生成 pdf 的东西)时,它无法说找不到表“名称”。显然是因为文件损坏(google fu 说)。我注意到构建目录和 src 目录中的字体文件有不同的大小,所以对我来说它们肯定是损坏的。我尝试了其他几个 .ttf,他们都抱怨缺少名称表。

我了解到 gradle 的 processResources 和 Copy 方法会损坏文件,但我不明白修复方法。我似乎有一些修复并复制了它们,但无济于事。我只想将文件复制到构建目录中,以便我的 spring 引导 jar 在生成 pdf 时可以访问字体。

这是我最近尝试但没有成功的片段(我是 gradle 新手,这与工作有关)

processResources {
    ////    inputs.properties( version: version.toString() )
////
////    def sourceFiles = source.files
////
////    from(sourceFiles) {
////        include '**/*.properties'
////        filter(org.apache.tools.ant.filters.ReplaceTokens, tokens: [VERSION:
////                                                                            version.toString()])
////    }
////    from(sourceFiles) {
////        exclude '**/*.properties'
////    }
    filesNotMatching("**/*.ttf") …
Run Code Online (Sandbox Code Playgroud)

java fonts gradle

1
推荐指数
1
解决办法
978
查看次数

在java中我很困惑何时公开一个类

我正在进入java并遇到了这个例子

interface Nose{
    public int iMethod();
}

abstract class Picasso implements Nose{
    public int iMethod(){
        return 7;
    }
}

class Clowns extends Picasso{}

class Acts extends Picasso{
    public int iMethod(){
        return 5;
    }
}
Run Code Online (Sandbox Code Playgroud)

因为没有任何内容被声明为public,这是否意味着这些类都不能从另一个文件中调用?我有另一个档案

public class Of76 extends Clowns{
    public static void main(String[] args) {
        Nose [] i = new Nose[3];
        i[0] = new Acts();
        i[1] = new Clowns();
        i[2] = new Of76();
        for(int x = 0; x < 3; x++) {
            System.out.println(i[x].iMethod()+" "+i[x].getClass());
        }

    }
}
Run Code Online (Sandbox Code Playgroud)

因此,在这个示例中,类Of76可以从另一个没有任何公共类的文件中创建类.我很困惑为什么第一个文件可以拥有所有这些类以及为什么它们不在单独的类中.我读到默认情况下非公开的类是私有的,只能在同一个类中调用.那么Nose文件中的所有内容都只能在该Nose文件中调用?

java

0
推荐指数
1
解决办法
390
查看次数

不知道为什么我为我的gui应用程序获得nullpointerexception

当我在actionListener中的任何文本字段上调用getText()时,它会不断抛出nullpointer错误.我已经这样做了十几次,我必须要有一个大脑放屁.

  import java.awt.BorderLayout;
    import java.awt.GridLayout;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.util.concurrent.ExecutionException;

    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JPanel;
    import javax.swing.JTabbedPane;
    import javax.swing.JTextField;
    import javax.swing.SwingUtilities;
    import javax.swing.SwingWorker;

public class Addressbook {
    private JTextField firstName;
    private JTextField lastName;
    private JTextField number;
    private JTextField address;
    private JTextField zipcode;
    private ConnectDB db;

    public void buildGui() {
        JFrame frame = new JFrame("hakob AddressBook");
        JTabbedPane tabs = new JTabbedPane();
        JPanel mainPanel = new JPanel();
        mainPanel.add(tabs);

        JPanel addContact = new JPanel(new GridLayout(3, 2));
        JTextField firstName = new JTextField("first …
Run Code Online (Sandbox Code Playgroud)

java swing nullpointerexception

0
推荐指数
1
解决办法
364
查看次数

从JSON转换为JSON-LD

我正在开展一个项目,要求我们使用现有的服务,这个服务会说json-ld.我们说json.我仍在通过http://www.w3.org/TR/json-ld/文档以及如何转换json> json-ld(和返回).

一些问题..如果我提供2个这样的上下文..

"@context": [
        "http://example/test1/core.jsonld",
        "http://example2/test2/core.jsonld"
    ],
Run Code Online (Sandbox Code Playgroud)

密钥如何知道要应用哪个前缀?例如

(test1 or test2)name : ..
(test1 or test2)date : ..
(test1 or test2)address : ..
Run Code Online (Sandbox Code Playgroud)

到目前为止,我对其工作原理的理解是,任何json都可以转换为json ld.我们需要为它提供一个上下文,因此它知道'iri'或命名空间.

另外,我正在使用的当前示例json-ld也有一些没有定义前缀的键,所以我想有一个默认值,但没有任何东西可以告诉我默认是什么(没有@vocab,字面上只是两个上下文定义).我想默认是一个上下文,但在这种情况下,我有2.

如果我错了,请纠正我,但所有json都可以转换为json-ld,反之亦然?我正在寻找Java解决方案ATM.

我想要的一个非常基本的例子

{
    "id": 1,
    "name": "A green door",
    "price": 12.50,
}
Run Code Online (Sandbox Code Playgroud)

成为

{
    @context{
     test : www.example.com/test/core.json-ld
     test2 : www.example.com/test2/core.json-ld
     }
    "id": 1,
    "test:name": "A green door",
    "test2:price": 12.50,
}
Run Code Online (Sandbox Code Playgroud)

编辑:所以这里是服务期望我的一个例子

{
    "@context": [
        "http://test.net/abcd/contexts/core.jsonld",
        "http://test.net/abcd/contexts/def/4.0/core.jsonld"
    ],

    "startDate": { "@value": "2009-11-21T22:17:10Z", "@type": "xsd:dateTime" },
    "endDate": { "@value": "2005-13-24T22:01:01Z", "@type": "xsd:dateTime" …
Run Code Online (Sandbox Code Playgroud)

java json json-ld

0
推荐指数
1
解决办法
4954
查看次数