-1

いくつかのWebページのコンテンツをダウンロードするためのbashスクリプトを作成しました。それを機能させるには、Cookieをキャッチし、特別なデータリクエストを送信する必要があります。そうすれば、適切なリンクにアクセスしてコンテンツをダウンロードできます。私のスクリプトは次のようになります。

#!/bin/bash  
for ((i=1;i<=$NB;++i)); do  
cookie=`curl -I "http://example.com/index.php" | grep Set-Cookie: | awk '{print $2}' |         cut -d ';' -f 1\`  # cath a cookie  
curl -b $cookie --data "a_piece_of_data" "http://example.com/index.php"  
curl -b $cookie "http://example.com/proper_link_$i" &> $i.html  
sleep 3  
done

後でそれを解析してすべてのhtml/xhtmlタグを削除し(純粋なテキストを抽出するだけ)、それをXMLに変換する必要があるので、Pythonとそのlibがそれを行うのに最適であることがわかります。
だから私はあなたに私のスクリプトをPythonに書き直す方法のヒントを求めますか?
これが私がこれまでに思いついたものですが、それでも私のbashの例からはほど遠いです:

import mechanize
import urllib2
import BeautifulSoup
import lxml

request = mechanize.Request("http://example.com/index.php")
response = mechanize.urlopen(request)
cj = mechanize.CookieJar()
cj.extract_cookies(response, request)
print cj

どんな助け/ヒントもありがたいです。

4

1 に答える 1

2

requests ライブラリを使用します

import requests
session = requests.session()
r = session.get('http://example.com/index.php')
# session.cookies now contains any relevant cookies which will be
# used in following requests of the session
page = session.get('http://example.com/your_other_page')

次にlxml、HTML を解析するために使用します。

import lxml.html
page = lxml.html.fromstring(page.text)
于 2012-10-06T11:25:40.063 に答える