鉄python、美しいスープ、win32アプリ
-
02-07-2019 - |
質問
は美しいスープと鉄python?その場合とバージョン鉄python?どれほど簡単でしを配布するには、windowsデスクトップアプリです。純2.0鉄python(主にc#の呼び出し一部のpythonコードの構文解析html)?
解決
ったというのは同じ質問、苦しんをフォロの助言をここにどんIronPythonとBeautifulSoup遊びも私の既存コードを出したいと思っていた別のネイティブの.純ます。BeautifulSoupは素晴らしい少しのコードでいつものようなまったものに匹敵をご用意させて頂きます。純ものの、その後の見 HTMLのアジリティパック やばいいと思いった一部の保守性上BeautifulSoup.またcrufty HTMLとして発表して優雅なXML DOMかでその問い合わせることができよXPath.カプコードすることができます裏原XDocumentし 工芸品のお問合せLINQのXML.正直場合、web scrapingの目標は、最もクリーンな溶液で見つける可能性がある.
編集
ここでは、簡単な読み込み:ない堅牢なってくる例を解析し、米国衆議院議員の休暇スケジュール:
using System;
using System.Collections.Generic;
using HtmlAgilityPack;
namespace GovParsingTest
{
class Program
{
static void Main(string[] args)
{
HtmlWeb hw = new HtmlWeb();
string url = @"http://www.house.gov/house/House_Calendar.shtml";
HtmlDocument doc = hw.Load(url);
HtmlNode docNode = doc.DocumentNode;
HtmlNode div = docNode.SelectSingleNode("//div[@id='primary']");
HtmlNodeCollection tableRows = div.SelectNodes(".//tr");
foreach (HtmlNode row in tableRows)
{
HtmlNodeCollection cells = row.SelectNodes(".//td");
HtmlNode dateNode = cells[0];
HtmlNode eventNode = cells[1];
while (eventNode.HasChildNodes)
{
eventNode = eventNode.FirstChild;
}
Console.WriteLine(dateNode.InnerText);
Console.WriteLine(eventNode.InnerText);
Console.WriteLine();
}
//Console.WriteLine(div.InnerHtml);
Console.ReadKey();
}
}
}
他のヒント
私は試験用BeautifulSoup両極1.1、2.0(忘れられるベータが、この数ヶ月ます。どうぞコメントまでお困りのそもそもの私の回答の掘り出した試験のコードとポストです。
まBeautifulSoupなIronPythonものでIronPythonを実装しないのPython言語(同じようにCPythonい).BeautifulSoupは純粋なpython、C-拡張子のみを問題に対する適合性をIronPythonとCPythonのPythonソースコードです。べきではないのでがインストールされている場合、このエラーが明らかでは"モジュールの名前..."、"noという名前のメソッド..."など)。Googleという一つのBSの試験に失敗したとIronPython.その作品は、試験によって固定される。のかは知らない。
したりすることができま覧するアドバイスなものである、ということを誰もが持っています。
また、に関して、以前のコメント約の作成と-X:SaveAssembliesることは間違っています。-X:SaveAssembliesしかし、デバッグの特徴です。あるAPIは作成のためのpythonコードをbinaries. このポスト 説明しているAPIおよび二つの違いにくい。
に提供している40k線IronPythonます。ていないというのはできるコンパイル全体を単一のバイナリの配当可能.代わりにして配布してzillion小幅に向上し、各IronPythonモジュールです。この作品は微細なものです。
しかし、新しいリリースIronPython2.0して最近のスパイクをうまく使うことでコンパイルすべてを単一のバイナリファイルです。この結果をより速くアプリスタートアップもモジュールの輸入が高速化されました。) このスパイクを移行して主に次の通りです。
の分布を用いたWiX、マイクロソフト内を作成するツールmsiインストールされたオープン調達は自由に利用可。) それに問題のないものの、当社の設置にはかなりヒ条件です。本を持っていくと良いでしょう利用を見直し、WiXの配信その他のIronPythonプロジェクトに。
仕事は、イブレア城、イブレアとのIronPython2.7.する必要があ点でのフォルダを避す:
D:\Code>ipy
IronPython 2.7 (2.7.0.40) on .NET 4.0.30319.235
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> sys.path.append("D:\Code\IronPython\BeautifulSoup-3.2.0")
>>> import urllib2
>>> from BeautifulSoup import BeautifulSoup
>>> page = urllib2.urlopen("http://www.example.com")
>>> soup = BeautifulSoup(page)
<string>:1: DeprecationWarning: object.__new__() takes no parameters
>>> i = soup('img')[0]
>>> i['src']
'http://example.com/blah.png'
まだ試験を実施しないと思うんだが、最新のIPy2.
としての配布では非常に簡単です。利用のX:SaveAssembliesオプションをコンパイルはPythonコードをバイナリーやしてみたいなことを言いたいので他のDllと国際極年には依存関係.
ただし、次の完全な標準ライブラリの実 re
モジュール(google for IronPythonコミュニティエディション)です。がIronPythonはすごい悪python実装からカウントしました。
ほかに、 html5lib
いただけるミュージアムです。このパーサを解析し、同じルールでfirefoxを解析します。