原力计划4399小游戏童年的乐趣,python爬取4399全站小游戏

博主在照镜子发现发际线上移后决定重拾童年乐趣,通过Python爬虫抓取了4399全站小游戏信息。文章分享了采集目标、所需工具、效果展示及项目思路,包括如何分析数据加载规则,利用requests和csv库提取并储存游戏标题和链接。
摘要由CSDN通过智能技术生成

今天照镜子,看着镜子中的自己,发现还是跟年轻时一样的“帅”,看到头部的时候又发现相比半个月之前的发际线,它好像又往上移了一点点。看着这上移的发际线我决定找回童年,把4399上玩过的小游戏再玩一遍。不过在玩游戏的时候呢!我又顺便把4399全站小游戏全抓下来了。顺便给大家分享点知识!

300+Python经典编程案例

50G+学习视频教程

100+Python初阶、中阶、高阶电子书籍

1000+简历模板和汇报PPT模板(转正、年终等)

采集目标

网址: 4399小游戏

工具准备

开发工具:pycharm

开发环境:python3.7, Windows10

使用工具包:requests、csv

效果展示

项目思路解析

第一步获取到目标数据的地址,分析页面的数据加载规则,数据分为两种,一种是静态数据,另外一种是动态数据,判断数据加载可以通过源码分析,查看当前源代码,要是源代码是能搜索出你想要的数据就是静态的,反之就是动态数据,当前网页数据是静态数据

明确数据后对网址发送请求,获取网页数据,获取到数据后,通过特定的方法提取数据信息,(提取数据的方法有正则、xpath、bs4、选择器),根据自己掌握的技术选取相对应的数据规则,需要获取到网页的游戏标题以及游戏详细地址

获取到数据后进行数据的储存,大部分情况数据是保存在数据库的,今天的数据储存在csv的表格文件

简易源码分享

import requests
# import parsel
import csv
from lxml import etree


f = open('4399游戏.csv', mode='a', encoding='utf-8', newline='')

csv_writer = csv.DictWriter(f, fieldnames=['游戏地址', '游戏名字'])
csv_writer.writeheader()
for page in range(1, 106):
    url = 'http://www.4399.com/flash_fl/5_{}.htm'.format(page)
    headers = {
 
        'User-Agent': ''
    }
    response = requests.get(url=url, headers=headers).content.decode('gb2312')
    # print(response)
    html_data = etree.HTML(response)

    lis = html_data.xpath('//div[@class="bre m15"]//ul/li')
    # lis = selector.css('#classic li')
    for li in lis:

        data_url = 'http://www.4399.com' + li.xpath('./a/@href')[0]
        print(data_url)
        title = li.xpath('./a/text()')[0]
        csv_writer.writerow({
 '游戏地址': data_url, '游戏名字': title})
f.close()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值