我正在使用WATIN(我正在使用2天......)来获取任何网站的内容:
Deault.aspx:
<body>
<form id="form1" runat="server">
<div>
<asp:TextBox ID="some_textbox" runat="server"> </asp:TextBox>
<asp:Button ID="submit_button" runat="server" Text="search"
onclick="submit_button_Click" />
<asp:Label ID="lblMsg" runat="server" Text="" ></asp:Label>
</div>
</form>
</body>
我的客户代码来自Watin(http://watin.org/documentation/getting-started/)
private void button1_Click(object sender, EventArgs e)
{
//launch a new IE browser
using (FireFox browser = new FireFox("http://localhost:3411/Default.aspx"))
{
//now we have access to the browser object
//filling a textbox and clicking a button is as easy as
browser.TextField(Find.ByName("some_textbox")).TypeText("foobar");
browser.Button(Find.ByName("submit_button")).Click();
//we can also access the full html of the page to perform regex matches, scrapes, etc...
string fullPageSource = browser.Html;
}
}
我有两个问题:
1)我不喜欢在网络浏览器中打开它必须跑回地面。因为我会在20-30页的一个事件中搜索一些数据。我不会监视我的网页,每件事都必须跑回地面
2)我正在写文本框名称按钮名称或whatelse。我不知道textboxname或搜索按钮名称,因为我将搜索亚马逊的一些产品。
我需要一些技巧如何进行价格比较,如http://www.pricegrabber.com/ WATIN是个好主意还是你有任何httprequest dll或方法?
答案 0 :(得分:2)
Watin旨在以与用户相同的方式驱动Web浏览器。如果您不想打开Web浏览器,Watin和Watir都不是您想要做的有效解决方案。 (除了合法性问题)。
您可能希望使用其他方法来发出HTTP请求,然后解析返回的HTML,一旦您获得了Amazon的书面许可,即可通过数据收集工具访问其网站,因为这样做没有许可是违反其使用条件的。