前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >25行代码带你爬取4399小游戏数据,看下童年的游戏是否还在

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

作者头像
松鼠爱吃饼干
发布2020-10-09 14:33:20
3.3K1
发布2020-10-09 14:33:20
举报
文章被收录于专栏:Python分享Python分享

前言

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

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

目标网站

代码语言:javascript
复制
http://www.4399.com/

基本环境配置

  • python 3.6
  • pycharm
  • requests
  • parsel
  • csv

爬虫代码

导入需要用到的工具

代码语言:javascript
复制
import requests
import parsel
import csv

请求网页

代码语言:javascript
复制
    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

解析网页,爬取数据

代码语言:javascript
复制
    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)

保存数据

代码语言:javascript
复制
f = open('4399游戏.csv', mode='a', encoding='utf-8-sig', newline='')

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

运行代码,效果如下图

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

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-09-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 松鼠爱吃饼干 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档