小编amb*_*a88的帖子

仅使用python请求下载文档的一部分

我正在使用python-requests编写一个web scraper.

每个页面都超过1MB,但我需要提取的实际数据很早就在文档的流程中,所以我浪费时间下载大量不必要的数据.

如果可能的话,我想在文档源代码中出现所需数据后立即停止下载,以节省时间.

例如,我只想提取"abc"Div中的文本,文档的其余部分是无用的:

<html>
<head>
<title>My site</title>
</head>
<body>

<div id="abc">blah blah...</div>

<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris fermentum molestie ligula, a pharetra eros mollis ut.</p>
<p>Quisque auctor volutpat lobortis. Vestibulum pellentesque lacus sapien, quis vulputate enim mollis a. Vestibulum ultrices fermentum urna ac sodales.</p>
<p>Nunc sit amet augue at dolor fermentum ultrices. Curabitur faucibus porttitor vehicula. Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
<p>Etiam sed leo at ipsum blandit dignissim ut a est.</p> …
Run Code Online (Sandbox Code Playgroud)

python http python-requests

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

使用YouTube API v3从多个渠道检索最近上传的最有效方式

使用频道ID列表,例如:

channel_ids = ['UC6nSFpj9HTCZ5t-N3Ra3-HB','UC6nSFpjSEBUCZ5t-N3Ra3-HB','UC6nrst90rsd3Z5t-N3Ra3-HC','UC6nSFpjd329th0rt-tuTH3-HA']

我想使用YouTube Data API v3检索所有这些频道的50个最新视频上传内容,使用尽可能少的http请求和尽可能少的时间.

我目前的做法是:

from apiclient.discovery import build

youtube = build('youtube', 'v3', developerKey=key)

channel_ids = ['UC6nSFpj9HTCZ5t-N3Ra3-HB', 'UC6nSFpjSEBUCZ5t-N3Ra3-HB', 'UC6nrst90rsd3Z5t-N3Ra3-HC', 'UC6nSFpjd329th0rt-tuTH3-HA']
videos_by_channel = {}

for channel_id in channel_ids:

    search_response = youtube.search().list(part="id",
                                            type='video',
                                            order='date',
                                            channelId=channel_id,
                                            maxResults=50).execute()

    videoIds = []
    for search_result in search_response.get("items", []):
        if search_result["id"]["kind"] == "youtube#video":
            videoIds.append(search_result['id']['videoId'])

    search_response = youtube.videos().list(
                                            id=",".join(videoIds),
                                            part="id,snippet"
                                            ).execute()

    videos_by_channel[channel_id] = search_response
Run Code Online (Sandbox Code Playgroud)

它工作但使用了很多服务器调用,并不是很快.我已经阅读了文档,但找不到更快的方法,任何想法?

python youtube youtube-api

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

PyQt更新gui

我正在尝试通过QThreadPyQt 更新Qt GUI对象中的文本,但我只是得到错误QPixmap: It is not safe to use pixmaps outside the GUI thread,然后它崩溃了.我真的很感激任何帮助,谢谢.

class MainWindow(QMainWindow, Ui_MainWindow):

    def __init__(self, parent = None):
        QMainWindow.__init__(self, parent)
        self.setupUi(self)
        self.output = Output()

    def __del__ (self):
        self.ui = None

    @pyqtSignature("")
    def on_goBtn_released(self):
        threadnum = 1
        #start threads
        for x in xrange(threadnum):
            thread = TheThread() 
            thread.start()


class Output(QWidget, Ui_Output):

    def __init__(self, parent = None):
        QWidget.__init__(self, parent)
        self.setupUi(self)
        self.ui = Ui_Output
        self.show()

    def main(self):
        self.textBrowser.append("sdgsdgsgsg dsgdsg dsgds gsdf")



class TheThread(QtCore.QThread):

    trigger = pyqtSignal() …
Run Code Online (Sandbox Code Playgroud)

python pyqt

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

带有 CuDNNLSTM 层的 Keras 模型在生产服务器上不起作用

我使用 AWS p3 实例使用 GPU 加速训练以下模型:

x = CuDNNLSTM(128, return_sequences=True)(inputs)
x = Dropout(0.2)(x)
x = CuDNNLSTM(128, return_sequences=False)(x)
x = Dropout(0.2)(x)
predictions = Dense(1, activation='tanh')(x)
model = Model(inputs=inputs, outputs=predictions)
Run Code Online (Sandbox Code Playgroud)

训练后,我用 Keras 的save_model函数保存了模型,并将其移至没有 GPU 的单独生产服务器。

当我尝试在生产服务器上使用该模型进行预测时,它失败并显示以下错误:

没有注册任何 OpKernel 来支持具有这些属性的 Op 'CudnnRNN'。注册设备:[CPU],注册内核:

我猜这是因为生产服务器没有 GPU 支持,但我希望这不会成为问题。有什么办法可以在没有 GPU 的生产服务器上使用这个模型?

python keras tensorflow tensorflow-gpu

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

从EC2实例本地访问Amazon S3 Bucket

我在同一区域有一个EC2实例和一个S3存储桶.该存储桶包含我的EC2实例定期使用的相当大的(5-20​​mb)文件.

我想以编程方式在我的EC2实例上打开文件(使用python).像这样:

file_from_s3 = open('http://s3.amazonaws.com/my-bucket-name/my-file-name')
Run Code Online (Sandbox Code Playgroud)

但是使用"http"URL远程访问文件似乎非常低效,当然这意味着每次我想使用它时都要将文件下载到服务器.

我想知道的是,有没有办法可以从我的EC2实例本地访问S3文件,例如:

file_from_s3 = open('s3://my-bucket-name/my-file-name')
Run Code Online (Sandbox Code Playgroud)

我自己找不到解决方案,感谢任何帮助,谢谢.

python amazon-s3 amazon-ec2 amazon-web-services

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

匹配不在span标签内的文本

使用Javascript,我试图在页面上的某些文本周围包装span标签,但我不想在一组span标签内部的文本周围包装标签.

目前我正在使用:

html = $('#container').html();
var regex = /([\s|&nbsp;]*)(apple)([\s|&nbsp;]*)/g;
html = html.replace(regex, '$1<span class="highlight">$2</span>$3');
Run Code Online (Sandbox Code Playgroud)

它可以工作,但如果它在同一个字符串上使用两次,或者如果字符串稍后出现在另一个字符串中,例如'一堆苹果',然后是'苹果',我最终得到这个:

<span class="highlight">a bunch of <span class="highlight">apples</span></span>
Run Code Online (Sandbox Code Playgroud)

我不希望它第二次替换'apples',因为它已经在span标签内.

它应该符合'苹果'这里:

Red apples are my <span class="highlight">favourite fruit.</span>
Run Code Online (Sandbox Code Playgroud)

但不是这里:

<span class="highlight">Red apples are my favourite fruit.</span>
Run Code Online (Sandbox Code Playgroud)

我尝试过使用它,但它不起作用:

([\s|&nbsp;]*)(apples).*(?!</span)
Run Code Online (Sandbox Code Playgroud)

任何帮助,将不胜感激.谢谢.

html javascript regex

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

未收到django-paypal IPN信号

在models.py的底部,我有:

from paypal.standard.ipn.signals import payment_was_successful, payment_was_flagged
import pay

payment_was_successful.connect(pay.paypal_success)
payment_was_flagged.connect(pay.paypal_flagged)
Run Code Online (Sandbox Code Playgroud)

我正在使用Paypal Developer IPN模拟器并返回"IPN已成功发送",但代码中pay.paypal_success并且pay.paypal_flagged未执行.

paypal_ipn表正在填充,但我注意到flag_info每一行都有:

Invalid form. (<ul class="errorlist"><li>payment_date<ul class="errorlist">
<li>Enter a valid date/time.</li></ul></li></ul>)
Run Code Online (Sandbox Code Playgroud)

我不知道这是否与信号不起作用有关.

django paypal django-paypal paypal-ipn

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