小编Rom*_*est的帖子

Python dryscrape用饼干刮页

我想从网站获取一些数据,这需要
登录.我按请求登录

url = "http://example.com"
response = requests.get(url, {"email":"a@gmail.com", "password":"12345"})
cookies = response.cookies
Run Code Online (Sandbox Code Playgroud)

然后我想从一些JS页面获取数据.通过请求是不可能的,所以我必须使用dryscrape.

import dryscrape
url = "http://example.com/js-page"
sess = dryscrape.Session()
sess.visit(url)
Run Code Online (Sandbox Code Playgroud)

是否可以将cookie传递给visit()或者我必须寻找其他解决方案?

python web-scraping python-requests

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

将列列表拆分为行而不重复数据

我有一个数据框,其中第一列是一个列表,如何迭代该列表并向相关的预定义列添加值:

workflow                cost      cam    gdp     ott    pdl
['cam', 'gdp', 'ott']   $2,346
['pdl', 'ott']          $1,200 
Run Code Online (Sandbox Code Playgroud)

应转换为:

workflow                cost      cam    gdp     ott    pdl
['cam', 'gdp', 'ott']   $2,346    782    782     782
['pdl', 'ott']          $1,200                   600    600
Run Code Online (Sandbox Code Playgroud)

我可以获得列表的长度,但无法弄清楚如何迭代列表以将其与列标题匹配。基本上,成本只是在列表中的进程数量之间平均分配。

python pandas

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

正则表达式拉出两个下划线之间的字符串

我有一个类型为anystring_OPCtarget_anystring的模式。我可以获得一些帮助,了解如何验证两个下划线之间的字符串是否属于类型"OPC(target)"并使用正则表达式提取目标。

假设我的字符串是:MP700000001_OPC32_812345643 首先,我需要验证下划线之间的字符串是否以以下开头,然后获取第二个下划线前后的OPC目标文本。OPC

帮助赞赏!

谢谢

regex preg-match

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

将线条与匹配的第一个字段组合

几年来,我经常需要将(已排序)文本的行与匹配的第一个字段组合在一起,而我从未找到过优雅(即单行unix命令行)的方法.我想要的是与unix join命令的相似之处,但是join需要2个文件,每个键最多出现一次.我想从一个文件开始,其中一个键可能出现多个tile.

我有一个执行此操作的ruby和perl脚本,但是没有办法将我的算法缩短为单行.经过多年的UNIX的使用,我还在学习新的技巧有comm,paste,uniq,等,我怀疑有一个聪明的办法来做到这一点.

有一些相关的问题,比如将所有具有相同第一列的行连接到同一行 ; 命令行匹配第一个字段匹配的行(sed,awk等) ; 并将线条与匹配的键组合在一起 - 但这些解决方案从未真正提供干净可靠的解决方案.

这是示例输入:

apple:A fruit
apple:Type of: pie
banana:tropical fruit
cherry:small burgundy fruit
cherry:1 for me to eat
cherry:bright red
Run Code Online (Sandbox Code Playgroud)

这是示例输出:

apple:A fruit;Type of: pie
banana:tropical fruit
cherry:small burgundy fruit;1 for me to eat;bright red
Run Code Online (Sandbox Code Playgroud)

这是我理想的语法:

merge --inputDelimiter=":" --outputDelimiter=";" --matchfield=1 infile.txt
Run Code Online (Sandbox Code Playgroud)

"matchfield"实际上是可选的.它可能永远是第一个领域.分隔符的后续出现应该被视为纯文本.

我不介意perl,ruby,awk单行,如果你能想到一个简短而优雅的算法.这应该能够处理数百万行输入.有任何想法吗?

unix awk command-line bsd join

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

在每一行的末尾添加一个逗号

我需要通过在每行末尾添加一个逗号来格式化邮件列表。已经问过这个问题,但是我没有得到建议答案的预期结果:

sed '$!s/$/,/' file > out.txt
Run Code Online (Sandbox Code Playgroud)

结果是:

user1@gmail.com
,
user2@gmail.com
,
user3@yahoo.fr
. . .
Run Code Online (Sandbox Code Playgroud)

无论如何它可以改进吗?我更需要:

user1@gmail.com,
user2@gmail.com,
user3@yahoo.fr,
. . .
Run Code Online (Sandbox Code Playgroud)

谢谢!

bash sed

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

将空格分隔的元素拆分为单独的行

如果我有一个文件,其中包含用空格分隔的不可预测元素,例如:

ABC123
ABC124
ABC125  ABC321  ABC222  ABC111  ABC333
ABC069  ABC450  ABC595
Run Code Online (Sandbox Code Playgroud)

如何将它们分别打印在单独的行中?(python 或 grep/awk 等)

python bash awk grep sed

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

是否有python函数允许在列中找到两个字符串?

我想找到一个数据帧的行中是否存在两个不同的字符串.

例如,我目前有这个代码,它提供了项目a或b的答案.

items=('a|b')
df1 = train[train['antecedents'].str.contains(items,flags=re.IGNORECASE, regex=True)]
Run Code Online (Sandbox Code Playgroud)

作为有益的,因为这是,我希望找到的所有有项目b.

因为我不能使用多个str.contains(因为在输入到items变量之前没有指定项目的数量),我不知道如何将' &'加入' str.contains(我试过但它没有工作).

是否有可能采用不同的方式来整合' &'?

python pandas

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

JavaScript - 按位置排序对象(左、上)

我有一个对象数组,表示页面上 div 元素的位置。数组未排序,我需要对它们进行排序,以便它们按从左到右,然后从上到下的顺序排列。

数组“项目”是:

[{
    "id": "Box 2",
    "x": 354,
    "y": 6
},
{
    "id": "Box 3",
    "x": 15,
    "y": 147
},
{
    "id": "Box 1",
    "x": 12,
    "y": 12
},
{
    "id": "Box 4",
    "x": 315,
    "y": 146
}]
Run Code Online (Sandbox Code Playgroud)

我试过按 x 排序:

items.sort(function(a, b){
if (a.x == b.x) return a.y - b.y;
    return a.x - b.x || a.y - b.y;
});
Run Code Online (Sandbox Code Playgroud)

和/或按 y 排序:

items.sort(function(a, b){
    if (a.y == b.y) return a.x - b.x;
    return a.y - b.y;
}); …
Run Code Online (Sandbox Code Playgroud)

javascript arrays sorting

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

如何在unix中将第一列移到最后一列?

这是文本文件中的数据.

0.354167 male atyp_angina 0.066038 0.1621 t normal 0.648855 no 0 up 0 reversable_defect <50
0.625 male typ_angina 0.792453 0.328767 f left_vent_hyper 0.564885 no 0.677419 down 0 reversable_defect <50
0.645833 male non_anginal 0.433962 0.134703 f left_vent_hyper 0.641221 no 0.483871 flat 0 normal >50_1
0.666667 female asympt 0.481132 0.413242 f left_vent_hyper 0.572519 yes 0.16129 flat 0 reversable_defect >50_1
0.270833 male typ_angina 0.509434 0.269406 f left_vent_hyper 0.816794 no 0.129032 up 0.666667 normal <50
Run Code Online (Sandbox Code Playgroud)

我必须将第一列包含数字数据移动到每一行的最后一列.

例如:

0.354167 male atyp_angina 0.066038 0.1621 t normal …
Run Code Online (Sandbox Code Playgroud)

unix linux bash awk

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

通过具有翻转子组的正则表达式模式进行搜索

{xymyx}我想在字符串中 找到类似的模式:'9132123867'

基于模式;结果应该是:'32123'

我尝试用正则表达式来做到这一点,但我不知道如何分辨模式......

任何人都可以用正则表达式做到这一点吗?或者也许你有更好的主意!

python

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

Python-如何在列表中查找第二个最低值的位置

我有以下清单:

list = [7,3,6,4,6]
Run Code Online (Sandbox Code Playgroud)

我知道可以list.index(min(list))用来查找列表中最低的数字的位置,但是如何使用它来找到第二低的数字呢?

python list

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

用逗号选择数字

我想选择所有行,数字和逗号,没有别的.例如,这些varchars应该由select返回:

1
1,2
1,2,3
Run Code Online (Sandbox Code Playgroud)

你知道怎么做吗?

sql sql-server

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