It&#39;s worth pointing out at this point (as alluded to by Conrad) that what you&#39;re attempting might be considered somewhat rude, and possibly slightly illegal (depending on the insanity of the legal system in question). Automated site scraping (what you&#39;re essentially doing) is generally frowned upon by most hosts unless it follows some very specific guidelines, usually at a minimum respecting the restrictions specified in the robots.txt file contained in the domains root. Furthermore, depending on the type of data in question, and if a EULA was agreed to if the site requires an account, doing any kind of automated processing might be disallowed. Now, I think wikipedia has a fairly lenient policy, or at least I hope it does considering it&#39;s community driven, but depending on how much of wikipedia you&#39;re planning on crawling you might at the very least consider severly throttling the process to keep from sucking up too much bandwidth.<br>
<br>On the topic of how to actually perform that crawl, you should probably check out the format of the link provided in the download PDF element. After looking at an article (note, I&#39;m basing this off a quick glance at a single page) it looks like you should be able to modify the URL provided in the &quot;Permanent link&quot; element to generate the PDF link by changing the title argument to arttitle, adding a new title argument with the value &quot;Special:Book&quot;, and adding the new arguments &quot;bookcmd=render_article&quot; and &quot;writer=rl&quot;. For example if the permanent link to the article is:<br>
<br><a href="http://en.wikipedia.org/w/index.php?title=Shapinsay&amp;oldid=449266269">http://en.wikipedia.org/w/index.php?title=Shapinsay&amp;oldid=449266269</a><br><br>Then the PDF URL is:<br><br><a href="http://en.wikipedia.org/w/index.php?arttitle=Shapinsay&amp;oldid=449266269&amp;title=Special:Book&amp;bookcmd=render_article&amp;write=rl">http://en.wikipedia.org/w/index.php?arttitle=Shapinsay&amp;oldid=449266269&amp;title=Special:Book&amp;bookcmd=render_article&amp;write=rl</a><br>

<br>This is all rather hacky as well, and none of it has been tested so it might not actually work, although I see no reason why it shouldn&#39;t. It&#39;s also fragile, as if wikipedia changes just about anything it could all brake, but that&#39;s the risk you run anytime you resort of site scraping.<br>
<br clear="all">-R. Kyle Murphy<br>--<br>Curiosity was framed, Ignorance killed the cat.<br>
<br><br><div class="gmail_quote">On Thu, Sep 8, 2011 at 23:40, Conrad Parker <span dir="ltr">&lt;<a href="mailto:conrad@metadecks.org">conrad@metadecks.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div class="im"><p><br>
On Sep 9, 2011 7:33 AM, &quot;mukesh tiwari&quot; &lt;<a href="mailto:mukeshtiwari.iiitm@gmail.com" target="_blank">mukeshtiwari.iiitm@gmail.com</a>&gt; wrote:<br>
&gt;<br>
&gt; Thank your for reply Daniel. Considering my limited knowledge of web programming and javascript , first i need to simulated the some sort of browser in my program which will run the javascript and will generate the pdf. After that i can download the pdf . Is this you mean ?  Is Network.Browser any helpful for this purpose ? Is there  way to solve this problem ? <br>


&gt; Sorry for  many questions but this  is my first web application program and i am trying hard to finish it. <br>
&gt;</p>
</div><p>Have you tried finding out if simple URLs exist for this, that don&#39;t require Javascript? Does Wikipedia have a policy on this?</p>
<p>Conrad.</p><div><div></div><div class="h5">
<p>&gt;<br>
&gt; On Fri, Sep 9, 2011 at 4:17 AM, Daniel Patterson &lt;<a href="mailto:lists.haskell@dbp.mm.st" target="_blank">lists.haskell@dbp.mm.st</a>&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt; It looks to me that the link is generated by javascript, so unless you can script an actual browser into the loop, it may not be a viable approach.<br>
&gt;&gt;<br>
&gt;&gt; On Sep 8, 2011, at 3:57 PM, mukesh tiwari wrote:<br>
&gt;&gt;<br>
&gt;&gt; &gt; I tried to use the PDF-generation facilities . I wrote a script which<br>
&gt;&gt; &gt; generates the rendering url . When i am pasting rendering url in<br>
&gt;&gt; &gt; browser its generating the download file but when i am trying to get<br>
&gt;&gt; &gt; the tags , its empty. Could some one please tell me what is wrong with<br>
&gt;&gt; &gt; code.<br>
&gt;&gt; &gt; Thank You<br>
&gt;&gt; &gt; Mukesh Tiwari<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; import Network.HTTP<br>
&gt;&gt; &gt; import Text.HTML.TagSoup<br>
&gt;&gt; &gt; import Data.Maybe<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; parseHelp :: Tag String -&gt; Maybe String<br>
&gt;&gt; &gt; parseHelp ( TagOpen _ y ) = if ( filter ( \( a , b ) -&gt; b == &quot;Download<br>
&gt;&gt; &gt; a PDF version of this wiki page&quot; ) y )  /= []<br>
&gt;&gt; &gt;                            then Just $  &quot;<a href="http://en.wikipedia.org" target="_blank">http://en.wikipedia.org</a>&quot; ++  ( snd $<br>
&gt;&gt; &gt; y !!  0 )<br>
&gt;&gt; &gt;                             else Nothing<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; parse :: [ Tag String ] -&gt; Maybe String<br>
&gt;&gt; &gt; parse [] = Nothing<br>
&gt;&gt; &gt; parse ( x : xs )<br>
&gt;&gt; &gt;   | isTagOpen x = case parseHelp x of<br>
&gt;&gt; &gt;                        Just s -&gt; Just s<br>
&gt;&gt; &gt;                        Nothing -&gt; parse xs<br>
&gt;&gt; &gt;   | otherwise = parse xs<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; main = do<br>
&gt;&gt; &gt;       x &lt;- getLine<br>
&gt;&gt; &gt;       tags_1 &lt;-  fmap parseTags $ getResponseBody =&lt;&lt; simpleHTTP<br>
&gt;&gt; &gt; ( getRequest x ) --open url<br>
&gt;&gt; &gt;       let lst =  head . sections ( ~== &quot;&lt;div class=portal id=p-coll-<br>
&gt;&gt; &gt; print_export&gt;&quot; ) $ tags_1<br>
&gt;&gt; &gt;           url =  fromJust . parse $ lst  --rendering url<br>
&gt;&gt; &gt;       putStrLn url<br>
&gt;&gt; &gt;       tags_2 &lt;-  fmap parseTags $ getResponseBody =&lt;&lt; simpleHTTP<br>
&gt;&gt; &gt; ( getRequest url )<br>
&gt;&gt; &gt;       print tags_2<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; _______________________________________________<br>
&gt;&gt; &gt; Haskell-Cafe mailing list<br>
&gt;&gt; &gt; <a href="mailto:Haskell-Cafe@haskell.org" target="_blank">Haskell-Cafe@haskell.org</a><br>
&gt;&gt; &gt; <a href="http://www.haskell.org/mailman/listinfo/haskell-cafe" target="_blank">http://www.haskell.org/mailman/listinfo/haskell-cafe</a><br>
&gt;&gt;<br>
&gt;<br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; Haskell-Cafe mailing list<br>
&gt; <a href="mailto:Haskell-Cafe@haskell.org" target="_blank">Haskell-Cafe@haskell.org</a><br>
&gt; <a href="http://www.haskell.org/mailman/listinfo/haskell-cafe" target="_blank">http://www.haskell.org/mailman/listinfo/haskell-cafe</a><br>
&gt;<br>
</p>
</div></div><br>_______________________________________________<br>
Haskell-Cafe mailing list<br>
<a href="mailto:Haskell-Cafe@haskell.org">Haskell-Cafe@haskell.org</a><br>
<a href="http://www.haskell.org/mailman/listinfo/haskell-cafe" target="_blank">http://www.haskell.org/mailman/listinfo/haskell-cafe</a><br>
<br></blockquote></div><br>