如何在Scrapy的parse()功能中获取请求URL ?我有很多网址start_urls,其中一些将我的蜘蛛重定向到主页,结果我有一个空项目.所以我需要item['start_url'] = request.url存储这些网址的东西.我正在使用BaseSpider.
我正在尝试将文档列表转储到AWS弹性搜索实例.它运行正常.然后,突然间它开始抛出这个错误:
{ _index: '<my index name>',
_type: 'type',
_id: 'record id',
status: 403,
error:
{ type: 'cluster_block_exception',
reason: 'blocked by: [FORBIDDEN/8/index write (api)];' } }
Run Code Online (Sandbox Code Playgroud)
我在论坛上查了一下.他们中的大多数人都认为这是一个JVM内存问题.如果它超过92%,AWS将停止对集群/索引的任何写入.但是,当我检查JVM内存时,它显示低于92%.我在这里遗失了什么?
谢谢.
我正在尝试通过Selenium做一些webscraping.我的问题很简单:你如何找到一个链接然后如何点击它?例如:以下是我尝试网络抓取的HTML:
<td bgcolor="#E7EFF9">
<a href="javascript:selectDodasaDetdasdasy(220011643,'Kdasdas?');" target="_self">
Details
</a>
</td>
Run Code Online (Sandbox Code Playgroud)
所以,你可以看到"细节"这个词是一个链接.
如何使用Selenium找到该链接并单击它?
python web-scraping python-2.7 python-3.x selenium-webdriver
我有一个非常大的csv文件,所以我无法将它们全部读入内存.我只想阅读并处理其中的几行.所以我在Pandas中寻找一个可以处理这个任务的函数,基本的python可以很好地处理这个:
with open('abc.csv') as f:
line = f.readline()
# pass until it reaches a particular line number....
Run Code Online (Sandbox Code Playgroud)
但是,如果我在熊猫中这样做,我总是阅读第一行:
datainput1 = pd.read_csv('matrix.txt',sep=',', header = None, nrows = 1 )
datainput2 = pd.read_csv('matrix.txt',sep=',', header = None, nrows = 1 )
Run Code Online (Sandbox Code Playgroud)
我正在寻找一些更简单的方法来处理熊猫中的这个任务.例如,如果我想读取1000到2000的行.我该如何快速完成?
我想使用pandas,因为我想将数据读入数据帧.
要在Keras中保存模型,输出文件之间的区别是:
model.save() model.save_weights()ModelCheckpoint() 在回调中保存的文件model.save()大于模型model.save_weights(),但比JSON或Yaml模型体系结构文件大得多.为什么是这样?
重申一下:为什么size(model.save())+ size(something)= size(model.save_weights())+ size(model.to_json()),那是什么"东西"?
公正model.save_weights()和model.to_json()加载是否会更有效率而不仅仅是做model.save()和load_model()?
有什么区别?
我创建了一个Seriesfrom DataFrame,当我用一个像这样的计数重新采样一些数据时:where H2是DataFrame:
H3=H2[['SOLD_PRICE']]
H5=H3.resample('Q',how='count')
H6=pd.rolling_mean(H5,4)
Run Code Online (Sandbox Code Playgroud)
这产生了一个看起来像这样的系列:
1999-03-31 SOLD_PRICE NaN
1999-06-30 SOLD_PRICE NaN
1999-09-30 SOLD_PRICE NaN
1999-12-31 SOLD_PRICE 3.00
2000-03-31 SOLD_PRICE 3.00
Run Code Online (Sandbox Code Playgroud)
索引看起来像:
MultiIndex
[(1999-03-31 00:00:00, u'SOLD_PRICE'), (1999-06-30 00:00:00, u'SOLD_PRICE'), (1999-09-30 00:00:00, u'SOLD_PRICE'), (1999-12-31 00:00:00, u'SOLD_PRICE'),.....
Run Code Online (Sandbox Code Playgroud)
我不希望第二列作为索引.理想情况下,我将第DataFrame1列作为"日期",第2列作为"销售"(删除索引的第二级).我不太明白如何重新配置索引.
大家好,我坚持在mp3文件上添加专辑封面.
我已经研究和谷歌搜索这个问题,但还没有解决方案,关于ffmpeg添加图像(专辑封面)到mp3使用此脚本的文档:
ffmpeg -i input.mp3 -i cover.png -c copy -map 0 -map 1 -metadata:s:v title="Album cover" -metadata:s:v comment="Cover (Front)" out.mp3
Run Code Online (Sandbox Code Playgroud)
来自:http://www.ffmpeg.org/ffmpeg-all.html#mp3
但它在我的控制台输出上不起作用是:
Unrecognized option 'c'
Failed to set value 'copy' for option 'c'
Run Code Online (Sandbox Code Playgroud)
我正在寻找另一种解决方案,我来自:http://trac.ffmpeg.org/ticket/2221:
ffmpeg -i input.mp3 -i cover.png -map 0:0 -map 1:0 -c copy -id3v2_version 3 -metadata:s:v title="Album cover" -metadata:s:v comment="Cover (Front)" out.mp3
Run Code Online (Sandbox Code Playgroud)
也返回相同的输出,我已经研究为什么返回:
Unrecognized option 'c'
Failed to set value 'copy' for option 'c'
Run Code Online (Sandbox Code Playgroud)
但是没有身体有同样的问题.有人可以帮帮我吗?
nb:我使用ubuntu 12.04和ffmpeg版本0.8.6-4:0.8.6-0.谢谢
我有一个df从数据库加载数据的数据框.大多数列都是json字符串,而有些列甚至是jsons列表.例如:
id name columnA columnB
1 John {"dist": "600", "time": "0:12.10"} [{"pos": "1st", "value": "500"},{"pos": "2nd", "value": "300"},{"pos": "3rd", "value": "200"}, {"pos": "total", "value": "1000"}]
2 Mike {"dist": "600"} [{"pos": "1st", "value": "500"},{"pos": "2nd", "value": "300"},{"pos": "total", "value": "800"}]
...
Run Code Online (Sandbox Code Playgroud)
如您所见,并非所有行在列的json字符串中具有相同数量的元素.
我需要做的是保持正常的列像它一样,id并name像这样平整json列:
id name columnA.dist columnA.time columnB.pos.1st columnB.pos.2nd columnB.pos.3rd columnB.pos.total
1 John 600 0:12.10 500 300 200 1000
2 Mark 600 NaN 500 300 Nan 800
Run Code Online (Sandbox Code Playgroud)
我试过这样使用json_normalize:
from pandas.io.json import json_normalize
json_normalize(df) …Run Code Online (Sandbox Code Playgroud) 在 jupyter notebook 中,我可以使用nbextensions配置自动单元计时,结果如下:

我怎样才能在 jupyter实验室中做到这一点?我没有找到任何做类似事情的扩展。
Obs.:我知道用%%time魔法可以达到类似的结果,但我希望它是自动的,所以我不必在每个单元格的开头放置魔法函数。
我有一个标签,我希望得到所有文本.我这样做:
response.css('mytag::text')
Run Code Online (Sandbox Code Playgroud)
但它只获取当前标记的文本,我还想从所有内部标记中获取文本.
我知道我可以这样做:
response.xpath('//mytag//text()')
Run Code Online (Sandbox Code Playgroud)
但我想用css选择器来做.我怎样才能做到这一点?
python ×4
pandas ×3
python-2.7 ×2
scrapy ×2
albumart ×1
css ×1
dataframe ×1
ffmpeg ×1
flatten ×1
html ×1
ipython ×1
json ×1
jupyter ×1
jupyter-lab ×1
keras ×1
python-3.x ×1
scrapyd ×1
tensorflow ×1
web-scraping ×1