前言
本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理。
还记得童年的网页小游戏吗?今天带大家爬取4399小游戏网站的数据,游戏名字+链接地址
目标网站
http://www.4399.com/
基本环境配置
- python 3.6
- pycharm
- requests
- parsel
- csv
爬虫代码
导入需要用到的工具
1import requests
2import parsel
3import csv
请求网页
1 url = 'http://www.4399.com/flash_fl/5_{}.htm'.format(page)
2 headers = {
3 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36'
4 }
5 response = requests.get(url=url, headers=headers)
6 response.encoding = response.apparent_encoding
解析网页,爬取数据
1 for li in lis:
2 dit ={}
3 data_url = li.css('a::attr(href)').get()
4 new_url = 'http://www.4399.com' + data_url.replace('http://', '/')
5 dit['游戏地址'] = new_url
6 title = li.css('img::attr(alt)').get()
7 dit['游戏名字'] = title
8 print(new_url, title)
保存数据
1f = open('4399游戏.csv', mode='a', encoding='utf-8-sig', newline='')
2
3csv_writer = csv.DictWriter(f, fieldnames=['游戏地址', '游戏名字'])
4csv_writer.writeheader()
5f.close()
运行代码,效果如下图
每秒200条数据,超快的爬取速度