Python:虎扑バスケットボールの写真を実験的に取ります

2541 ワード

プログラミングは確かに論理的思考を鍛える最も有効なツールの一つであり、前にPythonを独学した.いつも奇妙な輪に陥っています.入門データを見る--しばらく忘れないでください.入門書を読み続けます.本はたくさん読んだが、プログラミング技術は向上しなかった.
その後、本を読んだが、中には茅塞顿を開くという観点があった.
何事をするにも短期的に簡単にできる方法があるに違いない.勉強は苦しい仕事ではなく、楽しいもので、自分に合った勉強方法を見つけることが大切です.
中国語では、よく見られる1500-2000文字を身につけると80%の文字が読めます.プログラミングにおいても、最も核心的な重要な知識があります.まずこれらの肝心な知識であなたの知識体系を構築すると、学習効率が加速します.これは最初からいろいろな枝葉末節に潜るよりも良い学習方法です.
プログラミングを学ぶのは本当に何かを作るためです.まずプロジェクトに必要な最低限の知識を身につけて、それから情熱と精力を実際のプロジェクトの構築に投入して、半年の基礎知識を死ぬのではなく、すべての興味を消耗するまで何もしていません.
初心者がよく出会う困惑は、本を読んだり、授業を聞いたりしてもわかるが、どのようにプログラミングするか分からないことだ.これは十分な実践が欠けているからだ.
考え方が変わったら、行動に移します.最近、プログラミング技術を磨くために練習手の小さなプロジェクトを探しています.まず一番興味を持ったのはPython爬虫類です.だから最近ずっといろいろなサイトの画像に登っています.
本文はどのように虎扑バスケットボールの写真を取るかを話します.
簡単にするために、まず単一のページの画像から話します.後でパッケージ化され、可用性が向上します.
ファイル保存ディレクトリの作成
# Create folder for store picture
sub_folder = os.path.join(os.getcwd(), "hupupic")
if not os.path.exists(sub_folder):
    os.mkdir(sub_folder)
# os.chdir(sub_folder)

Proxyの設定
# Set proxy
proxy_support = urllib2.ProxyHandler({"http":"http://your_proxy:8080/"})
opener = urllib2.build_opener(proxy_support)
urllib2.install_opener(opener)

ターゲットページを解析し、画像の実際のアドレスを得る
sample_url = 'http://photo.hupu.com/nba/p29556-1.html'
req = urllib2.Request(url=sample_url)
resp = urllib2.urlopen(req)
html = resp.read()

start = html.find(r'
') end = html.find(r'
') content = html[start:end] div_pat = r'(.*?)' div_m = re.findall(div_pat, content, re.S|re.M) # print div_m[2] link_list = re.findall(r"(?<=href=\").+?(?=\")|(?<=href=\').+?(?=\')", div_m[2]) pic_url = link_list[0]

file_path = sub_folder
file_name = pic_url.split("/")[-1]
print file_name
fname = file_path + "\\" + file_name
f = urllib2.urlopen(pic_url)
with open(fname, 'wb') as img_file:
    img_file.write(f.read())