小编Gil*_*not的帖子

在python scraper脚本中解析facebook mobile时出现lxml错误"IOError:读取文件时出错"

我使用python post 登录到facebook的修改过的脚本:

#!/usr/bin/python2 -u
# -*- coding: utf8 -*-

facebook_email = "YOUR_MAIL@DOMAIN.TLD"
facebook_passwd = "YOUR_PASSWORD"


import cookielib, urllib2, urllib, time, sys
from lxml import etree

jar = cookielib.CookieJar()
cookie = urllib2.HTTPCookieProcessor(jar)       
opener = urllib2.build_opener(cookie)

headers = {
    "User-Agent" : "Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_0 like Mac OS X; en-us) AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8A293 Safari/6531.22.7",
    "Accept" : "text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,text/png,*/*;q=0.5",
    "Accept-Language" : "en-us,en;q=0.5",
    "Accept-Charset" : "utf-8",
    "Content-type": "application/x-www-form-urlencoded",
    "Host": "m.facebook.com"
}

try:
    params = urllib.urlencode({'email':facebook_email,'pass':facebook_passwd,'login':'Log+In'})
    req …
Run Code Online (Sandbox Code Playgroud)

python linux lxml facebook web-scraping

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

使用hrtimer回调函数,是否可以给函数参数?

所以如果我使用像:

.............................

enum hrtimer_restart my_hrtimer_callback( struct hrtimer *timer )

.............................

hr_timer.function = &my_hrtimer_callback;
...............................
hrtimer_start(hr_timer,ktime,HRTIMER_MODE_REL);
...............................
Run Code Online (Sandbox Code Playgroud)

是否可以在计时器启动期间将任何参数传递给回调函数?我用谷歌搜索了一下,但没有找到线索。如何使用它?

谢谢;>

linux parameters callback

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

xml_grep从element获取属性

是否有可能(如果是这样,如何)使用xml_grep从特定元素获取特定属性的值?我似乎只能在标签之间输出信息.

例:

    <eid>
       <identity nationalnumber="13021912354" dateofbirth="20130219" gender="male">
          <name>Menten</name>
          <firstname>Kasper</firstname>
          <middlenames>Marie J</middlenames>
          <nationality>Belg</nationality>
          <placeofbirth>Sint-Truiden</placeofbirth>
          <photo>base64-string</photo>
       </identity>
    </eid>
Run Code Online (Sandbox Code Playgroud)

从'identity'元素输出'nationalnumber'属性的值(在本例中为:13021912354)

xml linux command-line grep xmllint

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

拆分字符串的标题

我想重新格式化下面的行.请参阅输入示例和所需输出.我一直在使用awk而没有找到正确的解决方案

输入:

>1-672762
TGAGGTAGTAGGTTGTATGGTT
>2-240457
TGAGGTAGTAGGTTGTGTGGTT
>3-130231
TAGCAGCACGTAAATATTGGCG
>4-116485
TGAGGTAGTAGGTTGTATAGTT
Run Code Online (Sandbox Code Playgroud)

输出(需要以制表符分隔):

TGAGGTAGTAGGTTGTATGGTT  672762
TGAGGTAGTAGGTTGTGTGGTT  240457
TAGCAGCACGTAAATATTGGCG  130231
TGAGGTAGTAGGTTGTATAGTT  116485
Run Code Online (Sandbox Code Playgroud)

perl awk sed

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

使用 Text::CSV 在 Perl 中跳过错误的 CSV 行

我有一个基本上仍在测试中的脚本。我想使用 Text CSV 来分解每小时转储的大量 CSV 文件。

这些文件可能非常大并且质量不稳定。有时我会得到奇怪的字符或数据,但通常的问题是行停止。

"Something", "3", "hello wor
Run Code Online (Sandbox Code Playgroud)

封闭报价是我最大的障碍。剧本就这样被打破了。错误转到 stderr 并且我的 while 循环被破坏。

While (my $row = $csv->getline($data))
Run Code Online (Sandbox Code Playgroud)

我得到的错误是...

# CSV_PP ERROR: 2025 - EIQ - Loose unescaped escape
Run Code Online (Sandbox Code Playgroud)

我似乎无法为此进行任何类型的错误处理。如果我启用allow_loose_escapes,我得到的只是很多错误,因为它将后续的新行视为同一行的一部分。

csv perl

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

将unix输出发送到csv文件

我想将unix命令的输出数据放入一个csv文件。假设我得到的输出是:

A
B
C
Run Code Online (Sandbox Code Playgroud)

我想将此数据放在.csv文件中

A B C
Run Code Online (Sandbox Code Playgroud)

在三个不同的列但在同一行中。

unix bash

3
推荐指数
2
解决办法
5万
查看次数

批量 - 从 XML 文件获取标签值

我有以下名为“test.xml”的 XML 文件

如何将“agent-name-8181818”值从“ragent-name”标记获取到批处理文件中的变量中?

<ragent>
    <type>ragent</type>
    <logger>
        <loglevel>log_warning</loglevel>
        <logger-dir>.</logger-dir>
    </logger>
    <additional-config>
        <logger-level>log_warning</logger-level>
    </additional-config>
    <configuration-info ts="26-02-2018_15-31-54">
        <apply-config-now>false</apply-config-now>
        <manual-settings-activation>Automatic</manual-settings-activation>
        <ragent-name ts="26-02-2018_15-31-54">Agent-name-8181818</ragent-name>
        <site ts="26-02-2018_15-31-54">site</site>
    </configuration-info>
</ragent>
Run Code Online (Sandbox Code Playgroud)

xml windows batch-file

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

jq 匹配正则表达式

假设我有一个文件,我运行cat testTab.json | jq '.action.service.spec.task| select(.container) | .container'它,它给了我

{
  "image": "ubuntu:latest",
  "args1": "tail",
  "args2": "-f",
  "args3": "/dev/null",
  "mounts": {
    "source": "/home/testVolume",
    "target": "/opt"
  },
  "dns_config": null
}
Run Code Online (Sandbox Code Playgroud)

我应该如何编辑此命令来获取所有参数(args1、args2 和 args3)值(“tail”“-f”“/dev/null”)

json jq

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

Windows:curl:(3) URL 使用错误/非法格式或缺少 URL

我在 GitLab 中有一个名为 my_package_registry_2.0.4.0 的现有包注册表。现在,我尝试使用curl命令创建一个新版本,同时将该包注册表添加为资产。我的标签 1.0.0.0 也存在,并且它已在我的存储库中创建。

下面是curl命令(没有里程碑日期,我对此不感兴趣):

curl --header 'Content-Type: application/json' --header "PRIVATE-TOKEN: myTokenHere" --data '{ "name": "2.0.0.0", "tag_name": "1.0.0.0", "description": "Release manually created from API", "assets": { "links": [{ "name": "Release_1.2.0.0", "url": "https://my.gitlab.space/api/v4/projects/197/packages/generic/my_package_registry_2.0.4.0/1.0.0.0/myZipFile.zip", "link_type":"package" }] } }' --request POST "https://my.gitlab.space/api/v4/projects/197/releases"
Run Code Online (Sandbox Code Playgroud)

当我执行它时,它失败了。错误如下:

curl: (6) Could not resolve host: application
curl: (3) URL using bad/illegal format or missing URL
curl: (3) URL using bad/illegal format or missing URL
curl: (3) URL using bad/illegal format or missing URL
curl: (3) URL …
Run Code Online (Sandbox Code Playgroud)

windows curl cmd gitlab

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

添加自定义功能到Tpage (Template::Toolkit)

我正在使用 Tpage(模板工具包的命令行包装器),文档描述了如何为标量、列表或散列变量创建自定义虚拟方法,然后将其称为variable.custom_method(). 但是,我想在模板中定义一些可以直接使用的独立函数。想法如下:

这是我的functions.tt 文件:

[%- PERL -%]

sub int2hex{
 my $intvar = shift;
 return sprintf("%X", $intvar);
};

[%- END -%]

[% myInteger=18 %]
Run Code Online (Sandbox Code Playgroud)

这是我的 template.tt 文件:

Some text
The value of [%myInteger%] in hexadecimal is [% int2hex(myInteger) %]
More text
Run Code Online (Sandbox Code Playgroud)

然后,我将从命令行调用模板工具包,如下所示:

tpage --eval_perl --pre_process=functions.tt template.tt > result.f
Run Code Online (Sandbox Code Playgroud)

预期function.tt文件将首先被处理,并且int2hex()子例程可用于该template.tt文件。但是,我收到一条错误消息,指出undef error - int2hex is undefined. 另一方面,它并不抱怨myInteger.

看起来[% PERL %][% END %]该文件的部分没有将该int2hex函数添加到方法列表中。使用此处描述的宏或插件来实现这一点并不简单 …

perl template-toolkit

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