Python爬取4399好wan的小游戏!

#coding=utf-8
#爬取4399所有好玩的游戏
import re
import os
import requests

# 基础url
host_url = 'http://www.4399.com'
swfbase_url = 'http://sda.4399.com/4399swf'  
hw_url = 'http://www.4399.com/flash/gamehw.htm'

if not os.path.exists('./swf'):
    os.mkdir(r'./swf')

# 需要的正则表达式
tmp_pat = re.compile(r'<ul class="tm_list">(.*?)</ul>',re.S)
game_pat = re.compile( r'<li><a href="(/flash.*?)"><img alt=.*?src=".*?"><b>(.*?)</b>.*?</li>', re.S )
swf_pat = re.compile(r'_strGamePath="(.*?swf)"',re.S)

game_html = requests.get(hw_url)
game_html.encoding = 'gb2312'

tt = tmp_pat.search(game_html.text,re.S).group(1)

game_list = game_pat.findall(tt)

for l in game_list:
    # print l[0], l[1]
    
    game_page = requests.get(host_url + l[0]).text
    src_url = swf_pat.search(game_page)
    if src_url == None:
        continue;
    src = requests.get( swfbase_url + src_url.group(1) ).content
    print ("正在保存游戏:" , l[1] )
    open( "./swf/"+ l[1] + ".swf", "wb" ).write( src )

转载于:https://www.cnblogs.com/N-S-P/p/11520534.html

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值