标签: data-extraction

帮助:从文本中提取数据元组...正则表达式或机器学习?

我非常感谢您对以下问题的最佳方法的看法.我正在使用汽车分类列表示例,其性质类似于给出一个想法.

问题:从给定文本中提取数据元组.

以下是数据的一些特征.

  1. 文本中的词汇(单词)仅限于特定领域.让我们假设最多100-200个单词.

  2. 需要解析的文本是标题,如下面显示的汽车广告数据.所以每条记录对应一个元组(行).

  3. 在某些情况下,某些属性可能会丢失.因此,例如,在原始数据行#5中,缺少年份.

  4. 有些词汇(bigrams).喜欢"低里程".

  5. 可用的历史数据= 10,000条记录

  6. 传入的新数据量=每周1000-1500条记录

预期输出应采用(年,制,模型,特征)的形式.所以输出应该是这样的

1 - >(2009,Ford,Fusion,SE)
2 - >(1997,Ford,Taurus,Wagon)
3 - >(2000,Mitsubishi,Mirage,DE)
4 - >(2007,Ford,Expedition,EL Limited)
5 - >(,本田雅阁,EX)
....
....

原始标题数据:


1 - > 2009福特Fusion SE - 7000美元
2 - > 1997福特金牛座旅行车 - 800美元(圣东方)
3 - > '00三菱海市蜃楼DE - 2499美元(saratoga)图片
4 - > 2007福特Expedition EL限量版 - $ 7800(x)
5 - > Honda Accord ex low miles - $ 2800(dublin/pleasanton/livermore)pic
6 - > 2004 HONDA ODASSEY LX 68K MILES - $ 10800(danville/san …

regex nlp classification machine-learning data-extraction

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

Python - 从字符串解析IPv4地址(即使在审查时)

目标:编写Python 2.7代码以从字符串中提取IPv4地址.

字符串内容示例:


以下是IP地址:192.168.1.1,8.8.8.8,101.099.098.000.这些也可以显示为192.168.1 [.] 1或192.168.1(.)1或192.168.1 [dot] 1或192.168.1(dot)1或192 .168 .1 .1或192. 168. 1这些审查方法适用于任何一个点(例如:192 [.] 168 [.] 1 [.] 1).


正如你可以从上面看到的,我在努力寻找一种方法,通过可能包含在"审查"的多种形式描绘的IP地址一个txt文件解析(防止超链接).

我认为正则表达式是要走的路.也许会说些什么; 四个整数0-255或000-255的任何分组被任何东西在"分隔符列表",其将包括周期,支架,括号,或任何其他上述实施例的分离.这样,可以根据需要更新"分隔符列表".

不确定这是否是正确的方式,甚至可能,所以,非常感谢任何帮助.


更新: 感谢下面的递归回答,我现在有以下代码适用于上面的示例.它会...

  • 找到IP
  • 将它们放入列表中
  • 清理他们的空间/大括号/等
  • 并使用已清理的列表条目替换未清除的列表条目.

警告:下面的代码不考虑不正确/不有效的IP如192.168.0.256或192.168.1.2.3目前,它将丢弃后从上述6和3.如果它的第一个字节是无效的(例如:256.10.10.10),它会掉落领先2(导致56.10.10.10).

import re

def extractIPs(fileContent):
    pattern = r"((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)([ (\[]?(\.|dot)[ )\]]?(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3})"
    ips = [each[0] for each in re.findall(pattern, fileContent)]   
    for item in ips:
        location = ips.index(item)
        ip = re.sub("[ ()\[\]]", "", item)
        ip = re.sub("dot", ".", ip)
        ips.remove(item)
        ips.insert(location, ip) 
    return ips

myFile = open('***INSERT FILE PATH HERE***')
fileContent = …
Run Code Online (Sandbox Code Playgroud)

python regex ipv4 data-extraction python-2.7

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

从一系列数据中提取imacros

嗨,这是我的页面看起来像

  <div class="Bango 1 Beamer Beamer-1"> Beamer </div>
  <div class ="menu1"> menu1 </div>
  <div class ="menu2"> menu2 </div>
  <div class ="menu3"> menu3 </div>
  <div class ="menu4"> menu4 </div>

 <div class="Bango 1 Beamer Beamer-2"> Beamer2 </div>
 <div class ="menu1"> menu21 </div>
 <div class ="menu2"> menu22 </div>
 <div class ="menu3"> menu23 </div>
 <div class ="menu4"> menu24 </div>

 <div class="Bango 1 Beamer Beamer-3"> Beamer3 </div>
 <div class ="menu1"> menu31 </div>
 <div class ="menu2"> menu32 </div>
 <div class ="menu3"> menu33 </div>
 <div class ="menu4"> …
Run Code Online (Sandbox Code Playgroud)

text-extraction extract imacros extraction data-extraction

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

如何使用scrapely提取项目列表?

我正在使用scrapely从一些HTML中提取数据,但是我在提取项目列表时遇到了困难.

scrapely GitHub的项目仅描述一个简单的例子:

from scrapely import Scraper
s = Scraper()

s.train(url, data)
s.scrape(another_url)
Run Code Online (Sandbox Code Playgroud)

例如,如果您尝试按照描述提取数据,这很好:

用法(API)

Scrapely有一个强大的API,包括可以在外部编辑的模板格式,您可以使用它来构建非常强大的scraper.

以下部分是最简单的可能用法的快速示例,您可以在Python shell中运行.

但是,如果您发现了类似的内容,我不确定如何提取数据

Ingredientes

- 50 gr de hojas de albahaca
- 4 cucharadas (60 ml) de piñones
- 2 - 4 dientes de ajo
- 120 ml (1/2 vaso) de aceite de oliva virgen extra
- 115 gr de queso parmesano recién rallado
- 25 gr de queso pecorino recién rallado ( o queso de leche de oveja curado)
Run Code Online (Sandbox Code Playgroud)

我知道我不能通过使用xpath或css选择器来提取它,但我更感兴趣的是使用可以为类似页面提取数据的解析器.

python data-extraction scrapely

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

Python 使用 xarray 从 NETCDF 文件中提取多个纬度/经度

我有一个 NC 文件(时间、纬度、经度)从这里下载,我正在尝试提取多个站点的时间序列(纬度/经度点从这里下载)。所以我尝试用这种方式读取坐标并从 NC 文件中提取最接近的值:

import pandas as pd
import xarray as xr
nc_file = r"C:\Users\lab\Desktop\harvey\example.nc"
NC = xr.open_dataset(nc_file)
csv = r"C:\Users\lab\Desktop\harvey\stations.csv"
df = pd.read_csv(csv,delimiter=',')
Newdf = pd.DataFrame([])
# grid point lists
lat = df["Lat"]
lon = df["Lon"]
point_list = zip(lat,lon)
for i, j in point_list:
    dsloc = NC.sel(lat=i,lon=j,method='nearest')
    DT=dsloc.to_dataframe()
    Newdf=Newdf.append(DT,sort=True)
Run Code Online (Sandbox Code Playgroud)

该代码工作正常并返回:

                        EVP     lat      lon
time                                        
2019-01-01 19:00:00  0.0546  40.063  -88.313
2019-01-01 23:00:00  0.0049  40.063  -88.313
2019-01-01 19:00:00  0.0052  41.938  -93.688
2019-01-01 23:00:00  0.0029  41.938  -93.688 …
Run Code Online (Sandbox Code Playgroud)

python netcdf data-extraction pandas python-xarray

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

如何使用AngleSharp和LINQ从网站提取数据?

我正在尝试从下面提到的网站中提取价格。我正在使用AngleSharp进行提取。在网站上,价格列在下面(例如):

<span class="c-price">650.00                            </span>
Run Code Online (Sandbox Code Playgroud)

我正在使用以下代码进行提取。

using AngleSharp.Parser.Html;
using System.Net;
using System.Net.Http

//Make the request
var uri = "https://meadjohnson.world.tmall.com/search.htm?search=y&orderType=defaultSort&scene=taobao_shop";
var cancellationToken = new CancellationTokenSource();
var httpClient = new HttpClient();
var request = await httpClient.GetAsync(uri);
cancellationToken.Token.ThrowIfCancellationRequested();

//Get the response stream
var response = await request.Content.ReadAsStreamAsync();
cancellationToken.Token.ThrowIfCancellationRequested();

//Parse the stream
var parser = new HtmlParser();
var document = parser.Parse(response);

//Do something with LINQ
var pricesListItemsLinq = document.All
     .Where(m => m.LocalName == "span" && m.ClassList.Equals("c-price"));
Console.WriteLine(pricesListItemsLinq.Count());
Run Code Online (Sandbox Code Playgroud)

但是,我没有任何物品,但是它们在网站上。我究竟做错了什么?如果不推荐使用AngleSharp,该怎么用?我应该使用什么代码?

c# linq web-scraping data-extraction anglesharp

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

如何使用 Python 数字化(从中提取数据)热图图像?

热图示例

有几个软件包可用于将折线图数字化,例如GetData Graph Digitizer
但是,对于热图的数字化,我找不到任何软件包或程序。

我想使用 Python 数字化热图(来自 png 或 jpg 格式的图像)。怎么做?
我需要从头开始编写整个代码吗?
或者有没有可用的包?

python heatmap data-extraction

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

如何从链接中提取经度和纬度

从下面的链接中,我试图提取经度和纬度。我发现了类似的帖子,但没有找到具有相同格式的帖子。我是regex /文本操作的新手,并且希望获得有关如何使用Python进行此操作的任何指导。我想从此示例获得的输出是

latitude = 40.744221 
longitude = -73.982854
Run Code Online (Sandbox Code Playgroud)

提前谢谢了。

https://maps.googleapis.com/maps/api/staticmap?scale=1¢er=40.744221%2C-73.982854&language=zh-TW&zoom=15&​​markers=scale%3A1%7Cicon%3Ahttps%3A%2F%2Fyelp-images.s3.amazonaws .com%2Fassets%2Fmap-markers%2Fannotation_32x43.png%7C40.744221%2C-73.982854&client = gme-yelp&sensor = false&size = 315x150&signature = OjixVjNCwF7yLR5tsYw2fDRZ7bw

python regex text-extraction extraction data-extraction

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

将 Google 文档评论以及突出显示的文本导出到 Google 表格中?

是否有一种方法可以从 Google 文档导出评论,以便评论显示在 Google 表格文档的一列中,而 Google 文档中突出显示的文本显示在旁边的列中?

据我了解,可以通过 API 访问文件注释:

https://developers.google.com/drive/v3/reference/comments#methods

但是我们可以用它来提取文档的注释和突出显示的文本吗?任何帮助,将不胜感激。

google-docs google-sheets data-extraction google-apps-script google-drive-api

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

如何在R中直接从网站读取file.rar

我想下载一个压缩在 open-plaques-all-2017-06-19.rar 中的文件,但是在 R 中没有实现它。请看我下面的代码

temp <- tempfile()

download.file("https://github.com/tuyenhavan/Statistics/blob/master/open-plaques-all-2017-06-19.rar", temp)

df<- fread(unzip(temp, files = "open-plaques-all-2017-06-19.csv"))
head(df)
Run Code Online (Sandbox Code Playgroud)

import zip r data-extraction

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