0

Webスクレイピングを実行し、必要なリンクを含む文字列my_htmlを作成しました。

私がやりたいと思ってgrep()みました(はるかに長いmy_htmlの例)

my_html <- 'stuff more stuff ...
<TD ><A CLASS=my_link HREF=\"https://www.stuff.com/secure-bin/my_club/myrep.cgi/tpw9109.cry?scrtpw9109.cry\">
other stuff
<p> www.google.com </p>
end'



my_pattern <- "<TD><A CLASS=my_link HREF=*>"
grep(my_pattern,x=my_html,value=TRUE)

それは私を得る

character(0)

パターンの特殊文字に問題があると思いますが、解決策がわかりません。

4

1 に答える 1

1
> sub( '(^.+HREF=\\\")(.+)(\".+)', "\\2", my_html)
[1] "https://www.stuff.com/secure-bin/my_club/myrep.cgi/tpw9109.cry?scrtpw9109.cry"

基本的に、HREF=\"2 つのバックスラッシュを使用して単一のバックスラッシュ\"を表し、二重引用符を表す前に、すべてを破棄します。次に、次の二重引用符の前のすべてを 2 番目に一致したセクションとして含め、そのマークから最後までを 3 番目のセクションとして含めます。そのため、一致する中間セクション (存在する場合) のみを返す必要があります。

于 2013-01-08T20:09:48.110 に答える