使用Powershell 3.0时,-Filter或-Include参数是否适用于任何人?我已经尝试了以下两个命令:
Copy-Item -Path c:\temp -Include "*.TXT" -Destination C:\temp2
Run Code Online (Sandbox Code Playgroud)
和
Copy-Item -Path c:\temp -Filter "*.TXT" -Destination C:\temp2
Run Code Online (Sandbox Code Playgroud)
实际上,对于-Filter选项,在c:\ TEMP2中创建一个空的"temp"文件夹.我知道以下命令有效:
Copy-Item -Path c:\temp\*.TXT -Destination C:\temp2
Run Code Online (Sandbox Code Playgroud)
但只是想知道是否有人之前遇到过这个问题?
我正试图从网站上删除产品名称.奇怪的是,我似乎只抓了12件物品.我已经尝试了HtmlAgilityPack和HTTPClient,我得到了相同的随机结果.这是我的HtmlAgilityPack代码:
using HtmlAgilityPack;
using System.Net.Http;
var url = @"http://www.roots.com/ca/en/men/tops/shirts-and-polos/";
HtmlWeb web = new HtmlWeb();
var doc = web.Load(url, "GET", proxy, new NetworkCredential(PROXY_UID, PROXY_PWD, PROXY_DMN));
var nodes = doc.DocumentNode.Descendants("div")
.Where(div => div.GetAttributeValue("class", string.Empty) == "product-name")
.Select(div => div.InnerText.Trim())
;
Run Code Online (Sandbox Code Playgroud)
[更新1] @CodingKuma建议我试试Selenium Webdriver.这是我使用Selenium Webdriver的代码:
IWebDriver chromeDriver = new ChromeDriver(@"C:\TEMP\Projects\Chrome\chromedriver_win32");
chromeDriver.Url = "http://www.roots.com/ca/en/men/tops/shirts-and-polos/";
var items = chromeDriver.FindElements(By.ClassName("product-name"));
items.Count().Dump();
chromeDriver.Quit();
Run Code Online (Sandbox Code Playgroud)
我尝试了这段代码,但仍然没有运气.该页面上有20多个项目,但我似乎只是随机获得12.如何抓取该网站上的所有项目?
c# web-crawler web-scraping html-agility-pack selenium-webdriver
我有一个简单的LINQ lambda连接查询,但我想添加一个带有where子句的第3个连接.我该怎么做呢?
这是我的单个连接查询:
var myList = Companies
.Join(
Sectors,
comp => comp.Sector_code,
sect => sect.Sector_code,
(comp, sect) => new {Company = comp, Sector = sect} )
.Select( c => new {
c.Company.Equity_cusip,
c.Company.Company_name,
c.Company.Primary_exchange,
c.Company.Sector_code,
c.Sector.Description
});
Run Code Online (Sandbox Code Playgroud)
我想将以下SQL命令添加到上面的LINQ查询中并仍然保持投影:
SELECT
sector_code, industry_code
FROM
distribution_sector_industry
WHERE
service = 'numerical'
Run Code Online (Sandbox Code Playgroud)
第3次连接将使用Sector_code上的Sector表和Distribution_sector_industry进行.
提前致谢.
我正在使用LINQPad,我想知道表的架构细节.
我知道我是用SQL做的:
SELECT column_name,*
FROM information_schema.columns
WHERE table_name = '{table_name}'
ORDER BY ordinal_position
Run Code Online (Sandbox Code Playgroud)
我怎么能用LINQ做到这一点?
我发现这段代码将我的数据结果导出到Excel:
List<User> users = ....
var filename = "test.html";
var writer = LINQPad.Util.CreateXhtmlWriter();
writer.Write(users);
System.IO.File.WriteAllText(filename, writer.ToString());
// Open the file in excel
Process.Start("Excel" , filename);
Run Code Online (Sandbox Code Playgroud)
这将以格式化模式导出数据.什么是复制只是"导出>导出到Excel"的代码?
也许是深夜,但我在这里难倒.我正在尝试将具有相同属性的多个列表合并为一个.我认为LINQ的.UNION可以做到这一点,但我错了.这是我的一些列表的示例:
LIST1 (report names):
Date Name Title Product
02/01/13 Steve Hello World Report
02/05/13 Greg Howdy Report
LIST2 (song names):
Date Name Title Product
01/01/13 John Time Song
01/05/13 Bob Sorry Song
LIST3 (games names):
Date Name Title Product
12/01/12 Google Bike Race Game
12/05/12 Apple Temple Run Game
Run Code Online (Sandbox Code Playgroud)
我的课非常简单.这是它的样子:
public class MyClass {
public DateTime Date { get; set; }
public string Name { get; set; }
public string Title { get; set; }
public string Product { get; …Run Code Online (Sandbox Code Playgroud) 我有一个MongoDB集合.这是源数据的网格(excel)视图.

如果"fstick"列中的值与同一集合中"sedol"列的值匹配,我只想返回一个列表.最后,我想要这个:

这是我到目前为止所尝试的:
var list1 = collection.AsQueryable();
var list2 = collection.AsQueryable();
var docs = list1.Where(c => list2.Any(a => a.Sedol == c.FSTicker));
Run Code Online (Sandbox Code Playgroud)
还有这个:
var docs = collection.AsQueryable()
.Where(c => c.FSTicker.Contains(c.Sedol));
Run Code Online (Sandbox Code Playgroud)
每次,我都会收到以下错误:
System.ArgumentException: Unsupported filter: {document}{fstick}.Contains({document}{sedol}).
at MongoDB.Driver.Linq.Translators.PredicateTranslator.Translate(Expression node)
at MongoDB.Driver.Linq.Translators.PredicateTranslator.Translate(Expression node, IBsonSerializerRegistry serializerRegistry)
at MongoDB.Driver.Linq.Translators.QueryableTranslator.TranslateWhere(WhereExpression node)
at MongoDB.Driver.Linq.Translators.QueryableTranslator.Translate(Expression node)
at MongoDB.Driver.Linq.Translators.QueryableTranslator.TranslatePipeline(PipelineExpression node)
at MongoDB.Driver.Linq.Translators.QueryableTranslator.Translate(Expression node)
at MongoDB.Driver.Linq.Translators.QueryableTranslator.Translate(Expression node, IBsonSerializerRegistry serializerRegistry)
at MongoDB.Driver.Linq.MongoQueryProviderImpl`1.Translate(Expression expression)
at MongoDB.Driver.Linq.MongoQueryProviderImpl`1.Execute(Expression expression)
at MongoDB.Driver.Linq.MongoQueryableImpl`2.GetEnumerator()
Run Code Online (Sandbox Code Playgroud)
以防万一,这是我的班级:
[BsonIgnoreExtraElements]
public class Datapull
{
[BsonElement("fstick")]
public string FSTicker { get; set; …Run Code Online (Sandbox Code Playgroud) 这是我的json字符串.
{
"?xml" : {
"@version" : "1.0",
"@encoding" : "UTF-8"
},
"DataFeed" : {
"@FeedName" : "issuerDetails",
"SecurityDetails" : {
"Security" : {
"SecurityID" : {
"@idValue" : "AAPL-NSDQ",
"@fiscalYearEnd" : "2016-12-31T00:00:00.00"
},
"FinancialModels" : {
"FinancialModel" : [{
"@id" : "780",
"@name" : "Estimates - Energy",
"@clientCode" : "A",
"Values" : [{
"@name" : "EBITDA",
"@clientCode" : "EBITDA",
"@currency" : "C$",
"Value" : [{
"@year" : "2014",
"#text" : "555.64"
}, {
"@year" : "2015",
"#text" : "-538.986" …Run Code Online (Sandbox Code Playgroud) 我想尝试我的手和webscraping.我注意到Anglesharp非常适合.Net环境.我正在尝试从yelp网站获取所有描述和评级的列表,我不会收到任何错误或任何结果.这是html的一部分(在" https://www.yelp.ca/biz/walmart-toronto-12 "中更详细):
<div class="rating-very-large">
<i class="star-img stars_2" title="2.0 star rating">
<img alt="2.0 star rating" class="offscreen" height="303" src="//s3-media4.fl.yelpcdn.com/assets/srv0/yelp_styleguide/c2252a4cd43e/assets/img/stars/stars_map.png" width="84">
</i>
<meta itemprop="ratingValue" content="2.0">
</div>
<p itemprop="description" lang="en">This Walmart still terrifies me<br><br>Baby things can be found on the back right of the lower level. Godspeed.</p>
<div class="rating-very-large">
<i class="star-img stars_1" title="1.0 star rating">
<img alt="1.0 star rating" class="offscreen" height="303" src="//s3-media4.fl.yelpcdn.com/assets/srv0/yelp_styleguide/c2252a4cd43e/assets/img/stars/stars_map.png" width="84">
</i>
<meta itemprop="ratingValue" content="1.0">
</div>
<p itemprop="description" lang="en">Wow I don't even know where to begin, </p>
Run Code Online (Sandbox Code Playgroud)
这是我的查询:
var config = …Run Code Online (Sandbox Code Playgroud) 我有一个非常简单的LinqToSql列表.
var list = DB.Where(c => c.Status.Equals("active")).Select(c => c.Name);
Run Code Online (Sandbox Code Playgroud)
我正在尝试将该列表导入MongoDB.这是我到目前为止所拥有的:
const string connectionString = "mongodb://localhost";
var client = new MongoClient(connectionString);
MongoServer server = client.GetServer();
MongoDatabase database = server.GetDatabase("test");
var collection = database.GetCollection("salesppl");
collection.Insert(list);
Run Code Online (Sandbox Code Playgroud)
我也尝试过InsertBatch和Save,但没有运气.以下是我为每个错误消息:InsertBatch
BsonSerializationException:Serializer StringSerializer期望序列化选项类型为RepresentationSerializationOptions,而不是DocumentSerializationOptions.
插入
BsonSerializationException:Serializer EnumerableSerializer期望ArraySerializationOptions类型的序列化选项,而不是DocumentSerializationOptions.
保存
InvalidOperationException:Save只能用于具有Id的文档.
注意: 我认为这没有任何意义,但我通过LinqPad这样做.
那么,如何将此列表保存到MongoDb?
c# ×7
linq ×6
c#-4.0 ×3
linq-to-sql ×2
mongodb ×2
web-scraping ×2
.net ×1
anglesharp ×1
cmdlets ×1
copy-item ×1
import ×1
join ×1
json ×1
json.net ×1
lambda ×1
linq-to-json ×1
linqpad ×1
list ×1
powershell ×1
union ×1
web-crawler ×1