我使用tweepy来获取与某个标签有关的推文,然后我将它们发送到某个黑盒子进行一些处理。但是,不应发送包含任何URL的推文。删除任何此类推文最合适的方式是什么?
答案 0 :(得分:4)
在您的查询中添加private void Uploadfile(){
if (imageUri != null){
StorageReference fileReference = StorageRef.child(System.currentTimeMillis() + "." + getFileExtension(imageUri));
uploadtask = fileReference.putFile(imageUri)
.addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
@Override
public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
Toast.makeText(gallery.this, "Upload successful", Toast.LENGTH_SHORT).show();
Upload upload= new Upload(Filename.getText().toString().trim(),
taskSnapshot.getDownloadUrl().toString());
//create new database entry with unique image id
String uploadId = DBREF.push().getKey();
DBREF.child(uploadId).setValue(upload);
}
}).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
Toast.makeText(gallery.this, e.getMessage(), Toast.LENGTH_SHORT).show();
}
}).addOnProgressListener(new OnProgressListener<UploadTask.TaskSnapshot>() {
@Override
public void onProgress(UploadTask.TaskSnapshot taskSnapshot) {
}
});
}
else {
Toast.makeText(this, "no file selected",Toast.LENGTH_SHORT).show();
}
}
。
这将排除包含网址的推文。
答案 1 :(得分:1)
根据@Colin的建议,this question涵盖了使用正则表达式查找网址的问题。
示例代码段将是;
import re
// tweet_list is a list containing string you with to clean of urls
pattern = 'https?://(?:[-\w.]|(?:%[\da-fA-F]{2}))+'
filtered_tweet_list = [tweet for tweet in tweet_list if not re.findall(pattern, tweet)]
答案 2 :(得分:0)
您还可以在查询时排除带有网址的推文
if 'https:/' not in tweet.text:
<do something eg. get tweet or in your case: send tweet>