25行代码带你爬取4399小游戏数据,看下童年的游戏是否还在

时间:2022-07-26
本文章向大家介绍25行代码带你爬取4399小游戏数据,看下童年的游戏是否还在,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

前言

本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理。

还记得童年的网页小游戏吗?今天带大家爬取4399小游戏网站的数据,游戏名字+链接地址

目标网站

http://www.4399.com/

基本环境配置

  • python 3.6
  • pycharm
  • requests
  • parsel
  • csv

爬虫代码

导入需要用到的工具

import requests
import parsel
import csv

请求网页

    url = 'http://www.4399.com/flash_fl/5_{}.htm'.format(page)
    headers = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36'
    }
    response = requests.get(url=url, headers=headers)
    response.encoding = response.apparent_encoding

解析网页,爬取数据

    for li in lis:
        dit ={}
        data_url = li.css('a::attr(href)').get()
        new_url = 'http://www.4399.com' + data_url.replace('http://', '/')
        dit['游戏地址'] = new_url
        title = li.css('img::attr(alt)').get()
        dit['游戏名字'] = title
        print(new_url, title)

保存数据

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

csv_writer = csv.DictWriter(f, fieldnames=['游戏地址', '游戏名字'])
csv_writer.writeheader()
f.close()
# 想要源码的请关注公众号:松鼠爱吃饼干
# 发送‘4399’即可免费获取

运行代码,效果如下图

每秒200条数据,超快的爬取速度