小编stw*_*ite的帖子

使用XPath远程抓取页面并获取图像的大多数相关标题或描述

我正在做的事情基本上与Tweet按钮或Facebook Share/Like按钮相同,那就是为一段数据刮取页面和最相关的标题.我能想到的最好的例子就是当你在一个有许多文章的网站的首页上,然后点击Facebook Like Button.然后,它将获得相对于(最近)Like按钮的帖子的正确信息.有些网站有Open Graph标签,但有些网站没有,它仍然有效.

由于这是远程完成的,我只能控制我想要定位的数据.在这种情况下,数据是图像.我不是只检索<title>页面的内容,而是希望以某种方式从每个图像的起点反向遍历dom,并找到最近的"标题".问题是并非所有标题都出现在图像之前.然而,在这种情况下,在标题之后出现图像的可能性似乎相当高.话虽如此,我希望能让它几乎适用于任何网站.

思考:

  • 找到图像的"容器",然后使用第一个文本块.
  • 在包含某些类("description","title")或元素(h1,h2,h3,h4)的元素中查找文本块.

标题备份:

  • 使用开放图形标签
  • 只使用 <title>
  • 仅使用ALT标签
  • 使用META标签

摘要:提取图像不是问题,而是如何为它们获取相关标题.

问题:您如何获得每张图片的相关标题?也许使用DomDocument或XPath?

php xpath facebook html-parsing scrape

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

使用Python将两个图像叠加在一起

我试图将两个图像叠加在一起,以模仿使用 MatLab 叠加图像的结果。不幸的是,我无法在这个项目中使用 MatLab,并且我使用混合的方法没有给出所需的结果。

在此输入图像描述

关于如何仅使用 Python 完成图像叠加有什么想法吗?

这是我尝试使用混合方法的代码部分。然而,它会产生发光效果:

# Blend method from 
# http://www.deepskycolors.com/archive/2010/04/21/formulas-for-Photoshop-blending-modes.html

target = img_1 / 255.0
blend = img_2 / 255.0

output_img = (target > 0.5) * (1 - (1-2*(target-0.5)) * (1-blend)) + (target <= 0.5) * ((2*target) * blend)
output_img = output_img*255.0
Run Code Online (Sandbox Code Playgroud)

这是我开始使用的两张图片:

在此输入图像描述 在此输入图像描述

python python-3.x

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

使用 Webargs Flaskparser 验证 URL 路径和查询参数中的变量参数

我正在尝试验证发送到我的 api 的所有数据。我的 url 结构中包含一个变量 ,/api/v2/users/<string:username>/collections/以及实际的查询字符串参数,所有这些都需要通过验证。

完整的网址如下所示: https://127.0.0.1:5000/api/v2/users/<string:username>/collections/?page=5&per_page=10

需要验证的两个变量是:username page、 和per_page。简单的解决方案是更改我的 url 结构,但我想知道是否可以完成我需要的内容并保持我当前的简单性,而无需在资源类中添加额外的验证。如果可能的话,你会怎么做?

class UserCollections(Resource):
    @use_args({
        'username': fields.Str(
            required=True,
            validate=username_length,
            error_messages=dict(
                required='Username is required.',
                validator_failed='Username can be between 3 and 25 characters.',
            )
        ),
        'page': fields.Int(
            #required=True,
            missing=1,
            validate=feed_minmax_pages,
            error_messages=dict(
                validator_failed='Maximum number of pages reached.',
            )
        ),
        'per_page': fields.Int(
            #required=True,
            missing=5,
            validate=validate.Range(min=5,max=25),
            error_messages=dict(
                validator_failed='Test number of pages reached.',
            )
        ),
    }, locations=('query',))

    def get(self, args, username):
        print(args)
        print(username)

        return default_schema(
            data={},
            http_status=200
        )
Run Code Online (Sandbox Code Playgroud)

当我运行代码时,我收到验证错误, …

python flask python-3.x webargs

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

Flask Restful NoAuthorizationError缺少授权标头

我正在使用Python 3.6在生产模式下的服务器上运行Flask Restful,并命中了需要jwt auth的端点,但是我不断收到“ NoAuthorizationError Missing Authoring Header”错误。

奇怪的是,使用Postman将相同的请求发送到我的Mac上完全相同的Flask应用的本地版本,并且工作正常,没有任何错误。该问题仅在实时服务器上发生,并且所有pip包的版本也完全相同。

更新 我在实时服务器上使用Gunicorn,当我停止应用程序并正常运行时python run.py,错误消失并返回正确的响应。

我为jwt错误设置了以下处理程序,同样,它在我的应用程序的本地版本上被捕获:

  • jwt.token_in_blacklist_loader
  • jwt.expired_token_loader
  • jwt.invalid_token_loader
  • jwt.revoked_token_loader
  • jwt.needs_fresh_token_loader
  • jwt.unauthorized_loader
  • jwt.claims_verification_failed_loader

出于测试目的,我没有在请求本身中发送令牌。即使我这样做,错误仍然存​​在。

这是我的Mac上本地响应:

{
    "errors": {
        "application": "Missing Authorization Header",
        "validation": null
    },
    "http_status": 401,
    "message": "There was a problem authenticating your token.",
    "status": 0,
    "time": 20
}
Run Code Online (Sandbox Code Playgroud)

这是实时服务器上的响应:

Aug 29 17:15:15 [5168]: return self.dispatch_request(*args, **kwargs)
Aug 29 17:15:15 [5168]: File "/home/domain.com/apps/core-api/env/lib/python3.6/site-packages/flask_restful/__init__.py", line 595, in dispatch_request
Aug 29 17:15:15 [5168]: resp = meth(*args, **kwargs)
Aug 29 17:15:15 [5168]: File …
Run Code Online (Sandbox Code Playgroud)

python flask jwt gunicorn flask-restful

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

创建横幅交换算法来旋转广告

我正在制作广告横幅广告轮播脚本,该脚本基于每月均匀展示广告的展示次数.每次请求显示广告时都会进行计算.所以这将在飞行中完成.广告应该一个接一个地展开,而不仅仅展示一次展示1000次展示的广告,然后展示另一个展示1000次展示的广告.它在大多数情况下应显示1次展示,然后切换广告(当然,除非一个广告的展示次数比其他广告用得多).

假设我有5个广告,每个广告都有不同的展示次数购买,公式/您如何投放广告?我希望用PHP做到这一点.

广告#1:1,000次购买的展示次数

广告#2:购买了12,000次展示

广告#3:3,000次购买的展示次数

广告#4:20,000次购买的展示次数

广告#5:10,000次购买的展示次数

如果有多个广告在同一时间段内全部购买了1000次展示,则应逐个展示,直到使用展示次数为止.虽然,我认为如果一个人在短时间内购买1000次展示可能会很好,我应该考虑到这一点并以更快的速度展示它们.我愿意接受建议.

php algorithm ads banner

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

如何防止 ::-webkit-scrollbar 压过元素

我正在尝试使用 webkit 的自定义滚动条,我真的很想防止它推过它旁边的 div。我尝试使用位于右侧的图像精灵来破解它,但它位于滚动条的轨迹栏下方。我还尝试隐藏轨迹栏、设置不透明度、负边距/填充和 z-index — 似乎没有任何效果。

所需的效果是让元素(下图中的灰色条)继续到容器的边缘,而不是停在滚动条轨道上。

如何防止 ::-webkit-scrollbar 压过元素?

这里

同样的问题已经被问过,但没有合适的答案已经被发现,但(没有标记为重复)。

html css webkit

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

按次列表排序元组列表,在Python中跳过缺失值

尝试使用二级值列表对从python中的mysql游标返回的元组列表进行排序.

用于订购的清单:

[126028, 255872, 252614, 370772, 460757, 2, 412173, 384558, 111669, 232514]
Run Code Online (Sandbox Code Playgroud)

要排序的元组列表:

[(111669, '4b2c702d01e33f4bf5a816877d186de9.jpg'), 
(126028, 'f34d5dcb7311320a81430076604286a5.jpg'), 
(232514, 'b53ba7b840ce4e9e39c67e1c55af56b1.jpg'), 
(255872, '06225265afb87e7147a611f3e7ec2c4c.jpg'), 
(370772, '50502846b5203bd75a17936962ff37ca.jpg'), 
(384558, '07f3ea5009dbe63bea5211b9c90144cb.jpg'), 
(412173, 'b1e23c2f41e24459c12f1e5299662534.jpg'), 
(460757, 'd1b6a265ac26c327684b562be69641f7.jpg')]
Run Code Online (Sandbox Code Playgroud)

理想情况下,如果在返回的结果中找不到元素,则应删除它们.这是新的排序顺序,您可以在其中[252614, 2]找到未找到的值,因此它们将被排除:

[(126028, 'f34d5dcb7311320a81430076604286a5.jpg'), 
(255872, '06225265afb87e7147a611f3e7ec2c4c.jpg'), 
(370772, '50502846b5203bd75a17936962ff37ca.jpg'), 
(460757, 'd1b6a265ac26c327684b562be69641f7.jpg'),
(412173, 'b1e23c2f41e24459c12f1e5299662534.jpg'), 
(384558, '07f3ea5009dbe63bea5211b9c90144cb.jpg'), 
(111669, '4b2c702d01e33f4bf5a816877d186de9.jpg'),
(232514, 'b53ba7b840ce4e9e39c67e1c55af56b1.jpg')] 
Run Code Online (Sandbox Code Playgroud)

这是我尝试过的:

btree_ids = [126028, 255872, 252614, 370772, 460757, 2, 412173, 384558, 111669, 232514]

media_id_list = [(111669, '4b2c702d01e33f4bf5a816877d186de9.jpg'), 
    (126028, 'f34d5dcb7311320a81430076604286a5.jpg'), 
    (232514, 'b53ba7b840ce4e9e39c67e1c55af56b1.jpg'), 
    (255872, '06225265afb87e7147a611f3e7ec2c4c.jpg'), 
    (370772, '50502846b5203bd75a17936962ff37ca.jpg'), 
    (384558, '07f3ea5009dbe63bea5211b9c90144cb.jpg'), 
    (412173, 'b1e23c2f41e24459c12f1e5299662534.jpg'), 
    (460757, 'd1b6a265ac26c327684b562be69641f7.jpg')] …
Run Code Online (Sandbox Code Playgroud)

python

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

按数值对多维数组进行排序(最后为零)

我想做的是按数字对多维数组进行排序,但任何值都等于 0,位于数组的末尾。

该代码适用于使用 0 和个位数进行排序,但当向其中添加不同的数字时,它似乎会中断。

输出需要为:41,42,43,44,45,46,0,0,0

<?php

$array = array(
    array(
        "position" => 41,
    ),
    array(
        "position" => 43,
    ),
    array(
        "position" => 42,
    ),
    array(
        "position" => 44,
    ),
    array(
        "position" => 45,
    ),
    array(
        "position" => 0,
    ),
    array(
        "position" => 0,
    ),
    array(
        "position" => 0,
    ),
    array(
        "position" => 46,
    ),
);
// Sort ascending 
usort($array, 'sortByPosition');

// Show result
echo '<pre>';
print_r($array);

function sortByPosition($a, $b) {
    return $a['position'] != 0 ? $a['position'] - $b['position'] : …
Run Code Online (Sandbox Code Playgroud)

php arrays sorting multidimensional-array

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