4399小游戏童年的乐趣,python爬取4399全站小游戏
Posted 五包辣条!
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了4399小游戏童年的乐趣,python爬取4399全站小游戏相关的知识,希望对你有一定的参考价值。
大家好,我是辣条。
前言
2021年已到尾巴尖尖了。
今天照镜子,看着镜子中的自己,发现还是跟年轻时一样的“帅”,看到头部的时候又发现相比半个月之前的发际线,它好像又往上移了一点点。看着这上移的发际线我决定找回童年,把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()
以上是关于4399小游戏童年的乐趣,python爬取4399全站小游戏的主要内容,如果未能解决你的问题,请参考以下文章