我想解析网页http://dcsd.nutrislice.com/menu/meadow-view/lunch/来抓住今天的午餐菜单.(我已经建立了一个Adafruit #IoT热敏打印机,我想每天自动打印菜单.)
我最初使用BeautifulSoup来解决这个问题,但事实证明大部分数据都是用JavaScript加载的,我不确定BeautifulSoup可以处理它.如果您查看来源,您将看到存储的相关数据bootstrapData['menuMonthWeeks'].
import urllib2
from BeautifulSoup import BeautifulSoup
url = "http://dcsd.nutrislice.com/menu/meadow-view/lunch/"
soup = BeautifulSoup(urllib2.urlopen(url).read())
Run Code Online (Sandbox Code Playgroud)
这是获取源和审查的简便方法.
我的问题是:提取这些数据的最简单方法是什么,以便我可以用它做点什么?从字面上看,我想要的只是一个字符串:
西南芝士煎蛋卷,马铃薯楔,收获吧(THB),THB - 芝士香蒜酱面包,火腿熟食三明治,红辣椒棒,草莓
我已经考虑过使用webkit处理页面并获取HTML(即浏览器的功能),但这似乎不必要地复杂.我宁愿简单地找到可以解析bootstrapData['menuMonthWeeks']数据的东西.
出于某种原因,在Visual Studio 2012中调试ASP.NET Web应用程序后,我失去了JavaScript intellisense.
你可以看到,当我开始时,我有完整的智能感知.在下图中我得到了knockoutjs intellisense:

但是,一旦我调试应用程序,我就失去了智能感知.例如,如果我按F5调试[更新:顺便说一句,这也发生在CNTL-F5]当我返回到我的代码时,我失去了智能感知:

我发现让intellisense再次工作的唯一方法是使用工具 - > 导入和导出设置 - > 重置所有设置.问题是这只会继续工作,直到我再次运行应用程序.
有谁知道如何永久解决这个问题?谢谢!
更新:看起来这与ReSharper有关(我使用的是7.0.1).如果我在ReSharper的General Options下将它从ReSharper更改为Visual Studio intellisense,问题就会消失.我想这会稍微改变我的问题 - 当使用ReSharper时,如何使用intellisense为knockoutjs这样的框架工作?
我在Windows应用商店应用程序中运行以下代码,该应用程序应该调用我的一个WebApis:
using (var client = new HttpClient())
{
var parms = new Dictionary<string, string>
{
{"vinNumber", vinNumber},
{"pictureType", pictureType},
{"blobUri", blobUri}
};
HttpResponseMessage response;
using (HttpContent content = new FormUrlEncodedContent(parms))
{
const string url = "http://URL/api/vinbloburis";
response = await client.PostAsync(url, content);
}
return response.StatusCode.ToString();
}
Run Code Online (Sandbox Code Playgroud)
WebApi代码如下所示:
[HttpPost]
public HttpResponseMessage Post(string vinNumber, string pictureType, string blobUri)
{
var vinEntity = new VinEntity
{
PartitionKey = vinNumber,
RowKey = pictureType,
BlobUri = blobUri
};
_vinRepository.InsertOrUpdate(vinEntity);
return new HttpResponseMessage { Content …Run Code Online (Sandbox Code Playgroud) 我正在写一个C#方法来为Twitter生成一个认证头.我正在尝试通过此API搜索Twitter:https://api.twitter.com/1.1/search/tweets.json.
这是我调用的URL:
https://api.twitter.com/1.1/search/tweets.json?q=%23countryman+OR+%23johncooperworks+OR+%40mini%26since_id%3d24012619984051000%26max_id%3d250126199840518145%26result_type%3dmixed%26count%3d4
Run Code Online (Sandbox Code Playgroud)
这是我的方法:
private string GetTwitterAuthHeader()
{
const string oauthConsumerKey = "";
const string oauthConsumerSecret = "";
const string oauthToken = "";
const string oauthTokenSecret = "";
const string oauthVersion = "1.0";
const string oauthSignatureMethod = "HMAC-SHA1";
var oauthNonce = Convert.ToBase64String(new ASCIIEncoding().GetBytes(DateTime.Now.Ticks.ToString(CultureInfo.InvariantCulture)));
var timeSpan = DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc);
var oauthTimestamp = Convert.ToInt64(timeSpan.TotalSeconds).ToString(CultureInfo.InvariantCulture);
const string resourceUrl = "https://api.twitter.com/1.1/search/tweets.json";
const string baseFormat = "oauth_consumer_key={0}&oauth_nonce={1}&oauth_signature_method={2}" +
"&oauth_timestamp={3}&oauth_token={4}&oauth_version={5}";
var baseString = …Run Code Online (Sandbox Code Playgroud) 我已经编写了以下两种方法来发送签名请求.
来自模板:https://github.com/wadewegner/docusign-sample/blob/master/src/DocuSign/DocuSignClient.cs#L215
来自二进制文件:https://github.com/wadewegner/docusign-sample/blob/master/src/DocuSign/DocuSignClient.cs#L152
两者都很好,我可以看到他们出来签名:

麻烦的是接收电子邮件,要求签名充其量只是参差不齐.在我测试的早期,似乎我(大部分)收到了电子邮件,但是几天后我没有收到你在上面图片中看到的任何电子邮件.
我正在使用开发人员沙箱.有某种限制吗?
此外,似乎从我注册的电子邮件地址发送到另一个电子邮件地址特别有问题.还有更多的限制吗?
谢谢!
编辑:添加请求的其他信息.
请求#1(发布文档):
POST https://demo.docusign.net/restapi/v2/accounts/892965/envelopes HTTP/1.1
X-DocuSign-Authentication: <DocuSignCredentials>...</DocuSignCredentials>
Accept: application/json
Content-Type: multipart/form-data; boundary="BOUNDARY"
Host: demo.docusign.net
Content-Length: 91206
Expect: 100-continue
--BOUNDARY
Content-Type: application/xml; charset=utf-8
Content-Disposition: form-data
<envelopeDefinition xmlns="http://www.docusign.com/restapi"><emailSubject>DocuSign API - Signature Request on Document</emailSubject><status>sent</status><documents><document><documentId>1</documentId><name>test.pdf</name></document></documents><recipients><signers><signer><recipientId>1</recipientId><email>wade.wegner@gmail.com</email><name>Wade Wegner</name><tabs><signHereTabs><signHere><xPosition>100</xPosition><yPosition>100</yPosition><documentId>1</documentId><pageNumber>1</pageNumber></signHere></signHereTabs></tabs></signer></signers></recipients></envelopeDefinition>
--BOUNDARY
Content-Disposition: form-data; name=test; filename=test.pdf; filename*=utf-8''test.pdf
<truncating binary>
Run Code Online (Sandbox Code Playgroud)
请求#2(来自模板):
POST https://demo.docusign.net/restapi/v2/accounts/892965/envelopes HTTP/1.1
X-DocuSign-Authentication: <DocuSignCredentials>...</DocuSignCredentials>
Accept: application/json
Content-Type: application/xml; charset=utf-8
Host: demo.docusign.net
Content-Length: 421
Expect: 100-continue
<envelopeDefinition xmlns="http://www.docusign.com/restapi"><status>sent</status><emailSubject>DocuSign API - Signature Request from …Run Code Online (Sandbox Code Playgroud) c# ×2
docusignapi ×1
email ×1
html-parsing ×1
javascript ×1
python ×1
resharper ×1
restrictions ×1
signature ×1
twitter ×1