我正在从一系列网站(如reddit.com)中提取用户评论,而Youtube也是我的另一个多汁信息来源.我现有的刮刀用R写的:
# x is the url
html = getURL(x)
doc = htmlParse(html, asText=TRUE)
txt = xpathSApply(doc,
//body//text()[not(ancestor::script)][not(ancestor::style)][not(ancestor::noscript)]",xmlValue)
Run Code Online (Sandbox Code Playgroud)
这不适用于Youtube数据,事实上,如果您查看此类 Youtube视频的来源,您会发现注释不会出现在源代码中.
有没有人对如何在这种情况下提取数据有任何建议?
非常感谢!
我想创建一个可以从Trip Advisor中抓取一些数据的爬虫.理想情况下,它将 (a)识别要爬行的所有地点的链接, (b)收集每个地点所有景点的链接, (c)收集所有评论的目的地名称,日期和评级.我现在想集中讨论(a)部分.
这是我开始的网站:http: //www.tripadvisor.co.nz/Tourism-g255104-New_Zealand-Vacations.html
这里有问题:该链接提供了前10个目的地,如果您再点击"查看更多热门目的地",它将展开列表.它似乎使用javascript函数来实现这一点.不幸的是,我不熟悉javascript,但我认为下面的块可能会提供有关它如何工作的线索:
<div class="morePopularCities" onclick="ta.call('ta.servlet.Tourism.showNextChildPage', event, this)">
<img id='lazyload_2067453571_25' height='27' width='27' src='http://e2.tacdn.com/img2/x.gif'/>
See more popular destinations in New Zealand </div>
Run Code Online (Sandbox Code Playgroud)
我已经为R找到了一些有用的网页编写软件包,比如rvest,RSelenium,XML,RCurl,但是其中只有RSelenium似乎能够解决这个问题,尽管如此,我仍然无法使用它出.
这是一些相关的代码:
tu = "http://www.tripadvisor.co.nz/Tourism-g255104-New_Zealand-Vacations.html"
RSelenium::startServer()
remDr = RSelenium::remoteDriver(browserName = "internet explorer")
remDr$open()
remDr$navigate(tu)
# remDr$executeScript("JS_FUNCTION")
Run Code Online (Sandbox Code Playgroud)
最后一行应该在这里做,但我不确定我需要在这里调用什么函数.
一旦我设法扩展这个列表,我将能够以与解决(b)部分相同的方式获取每个目的地的链接,我想我已经解决了这个问题(对于那些感兴趣的人):
library(rvest)
tu = "http://www.tripadvisor.co.nz/Tourism-g255104-New_Zealand-Vacations.html"
tu = html_session(tu)
tu %>% html_nodes(xpath='//div[@class="popularCities"]/a') %>% html_attr("href")
[1] "/Tourism-g255122-Queenstown_Otago_Region_South_Island-Vacations.html"
[2] "/Tourism-g255106-Auckland_North_Island-Vacations.html"
[3] "/Tourism-g255117-Blenheim_Marlborough_Region_South_Island-Vacations.html"
[4] "/Tourism-g255111-Rotorua_Rotorua_District_Bay_of_Plenty_Region_North_Island-Vacations.html"
[5] "/Tourism-g255678-Nelson_Nelson_Tasman_Region_South_Island-Vacations.html"
[6] "/Tourism-g255113-Taupo_Taupo_District_Waikato_Region_North_Island-Vacations.html"
[7] "/Tourism-g255109-Napier_Hawke_s_Bay_Region_North_Island-Vacations.html"
[8] "/Tourism-g612500-Wanaka_Otago_Region_South_Island-Vacations.html"
[9] "/Tourism-g255679-Russell_Bay_of_Islands_Northland_Region_North_Island-Vacations.html"
[10] …Run Code Online (Sandbox Code Playgroud) 我正在寻找一种有效的方法来构建Python中的术语文档矩阵,可以与额外的数据一起使用.
我有一些带有一些其他属性的文本数据.我想对文本进行一些分析,我希望能够将从文本中提取的特征(例如单个字标记或LDA主题)与其他属性相关联.
我的计划是将数据加载为pandas数据框,然后每个响应都代表一个文档.不幸的是,我遇到了一个问题:
import pandas as pd
import nltk
pd.options.display.max_colwidth = 10000
txt_data = pd.read_csv("data_file.csv",sep="|")
txt = str(txt_data.comment)
len(txt)
Out[7]: 71581
txt = nltk.word_tokenize(txt)
txt = nltk.Text(txt)
txt.count("the")
Out[10]: 45
txt_lines = []
f = open("txt_lines_only.txt")
for line in f:
txt_lines.append(line)
txt = str(txt_lines)
len(txt)
Out[14]: 1668813
txt = nltk.word_tokenize(txt)
txt = nltk.Text(txt)
txt.count("the")
Out[17]: 10086
Run Code Online (Sandbox Code Playgroud)
请注意,在这两种情况下,文本的处理方式只有空格,字母和.?!被删除(为简单起见).
如您所见,转换为字符串的pandas字段返回的匹配项更少,字符串的长度也更短.
有没有办法改进上面的代码?
此外,str(x)在注释中[str(x) for x in txt_data.comment]创建一个大字符串,同时创建一个列表对象,该列表对象无法分解成一堆单词.生成nltk.Text保留文档索引的对象的最佳方法是什么?换句话说,我正在寻找一种方法来创建一个术语文档矩阵,R等同TermDocumentMatrix()于tm包.
非常感谢.
我创建了一个 R 包,每当我将更改合并到 master 分支时,我想通过 GitHub Actions 将其上传到 CRAN。我发现了很多R 操作的示例,我什至查找了一些最流行的软件包(如 dplyr)是如何做到这一点的,尽管我找到了一个devtools::release()辅助函数,但我仍然没有看到一个工作流程可以当您将更改合并到主分支时,将库提交到 CRAN。软件包开发人员是否手动执行此操作?有什么原因导致这没有自动化吗?
这个问题是的扩展这一个着重于LSTM相对于CRF.不幸的是,我对CRF没有任何经验,这就是我提出这些问题的原因.
问题:
我想预测多个非独立组的二进制信号序列.我的数据集中等很小(每组约1000条记录),所以我想在这里尝试一个CRF模型.
可用数据:
我有一个包含以下变量的数据集:
使用此数据集我想预测group_a_activity,group_b_activity哪些都是0或1.
请注意,这些组被认为是交叉相关的,并且可以从时间戳中提取其他功能 - 为简单起见,我们可以假设我们只从时间戳中提取了一个功能.
到目前为止我所拥有的:
以下是您可以在自己的计算机上重现的数据设置.
# libraries
import re
import numpy as np
import pandas as pd
data_length = 18 # how long our data series will be
shift_length = 3 # how long of a sequence do we want
df = (pd.DataFrame # create a sample dataframe
.from_records(np.random.randint(2, size=[data_length, 3]))
.rename(columns={0:'a', 1:'b', 2:'extra'}))
df.head() # check it out
# shift (assuming data is sorted …Run Code Online (Sandbox Code Playgroud) 我有一个简单的 Dash 应用程序,我想通过 CSS 设置绘图的字体和颜色。这是我的app.py样子:
import dash
import dash_core_components as dcc
import dash_html_components as html
import plotly.graph_objects as go
def generate_plot():
fig = go.Figure()
fig.add_trace(go.Scatter(x=[1, 2, 3], y=[1, 2, 3]))
return fig
app = dash.Dash(__name__)
app.layout = html.Div(children=[
html.H1(children="title", className="title"),
dcc.Graph(figure=generate_plot(), class="plot")
])
Run Code Online (Sandbox Code Playgroud)
我还有一个文件assets/style.css ,我想用描述dcc.Graph对象外观的内容扩展这个文件。这可能吗?如果是,那我该怎么做?我希望能够设置字体、背景颜色、线条/标记颜色等。不幸的是,类似.plot { background-color: aqua; }CSS 的东西没有效果。此外,html, body {font-family: serif; }也没有任何影响。
我正在尝试通过 Airflow 运行 docker 容器,但Permission Denied出现错误。我看过一些相关的帖子,有些人似乎已经解决了这个sudo chmod 777 /var/run/docker.sock问题,这充其量是一个有问题的解决方案,但它仍然对我不起作用(即使在重新启动 docker 之后。如果有人设法解决了这个问题,请让我知道!
这是我的 DAG:
from datetime import datetime, timedelta
from airflow import DAG
from airflow.operators.docker_operator import DockerOperator
args = {
'owner': 'airflow',
'depends_on_past': False,
'start_date': datetime(2020, 6, 21, 11, 45, 0),
'retries': 1,
'retry_delay': timedelta(minutes=1),
}
dag = DAG(
"docker",
default_args=args,
max_active_runs=1,
schedule_interval='* * * * *',
catchup=False
)
hello_operator = DockerOperator(
task_id="run_docker",
image="alpine:latest",
command="/bin/bash echo HI!",
auto_remove=True,
dag=dag
)
Run Code Online (Sandbox Code Playgroud)
这是我得到的错误:
[2020-06-21 14:01:36,620] {taskinstance.py:1145} ERROR - ('Connection …Run Code Online (Sandbox Code Playgroud) 我正在尝试设置一个简单的 DBT 管道,该管道使用存储在 Azure Data Lake Storage 上的镶木地板表,并创建另一个也将存储在同一位置的表。
在我的models/(定义为我的源路径)下,我有 2 个文件datalake.yml和orders.sql. datalake.yml看起来像这样:
version:2
sources:
- name: datalake
tables:
- name: customers
external:
location: path/to/storage1 # I got this by from file properties in Azure
file_format: parquet
columns:
- name: id
data_type: int
description: "ID"
- name: ...
Run Code Online (Sandbox Code Playgroud)
我的orders.sql桌子看起来像这样:
{{config(materialized='table', file_format='parquet', location_root='path/to/storage2')}}
select name, age from {{ source('datalake', 'customers') }}
Run Code Online (Sandbox Code Playgroud)
我也在用这个dbt-external-tables包。另请注意,当我运行时dbt debug一切正常,我可以连接到我的数据库(恰好是 Databricks)。
我尝试运行dbt run-operation stage_external_sources它返回 …
在Python中,Keras具有便捷的功能plot_model,可以可视化模型的体系结构-包括以下示例。我正在R中寻找与该keras库一起使用的等效函数(不是kerasR)。如果您对如何在R中生成此类图像有任何建议,我很想听听您的意见。
提前谢谢了!
我正在研究序列预测问题,并且在这方面没有太多经验,因此下面的一些问题可能很幼稚。
仅供参考:我在这里创建了一个重点关注 CRF 的后续问题
我有以下问题:
我想预测多个非独立变量的二元序列。
输入:
我有一个包含以下变量的数据集:
此外,假设以下情况:
binary_signal_group_A和binary_signal_group_B是我想使用(1)它们过去的行为和(2)从每个时间戳提取的附加信息来预测的 2 个非独立变量。
到目前为止我所做的:
# required libraries
import re
import numpy as np
import pandas as pd
from keras import Sequential
from keras.layers import LSTM
data_length = 18 # how long our data series will be
shift_length = 3 # how long of a sequence do we want
df = (pd.DataFrame # create a sample dataframe
.from_records(np.random.randint(2, …Run Code Online (Sandbox Code Playgroud) keras ×3
r ×3
python ×2
xpath ×2
airflow ×1
apache-spark ×1
cran ×1
crf ×1
crfsuite ×1
css ×1
dbt ×1
docker ×1
hive ×1
lstm ×1
nltk ×1
pandas ×1
parquet ×1
plotly ×1
plotly-dash ×1
r-usethis ×1
rselenium ×1
tensorflow ×1
time-series ×1
web-scraping ×1
youtube ×1