爬取的数据为新浪nba数据库
方法是先爬取球员列表页面然后进入每个球员页面进行爬取,结果生成为csv
由于个人需求只爬取了16-17赛季数据,可通过修改正则表达式进行定制
代码如下:
import urllib.request
import re
import csv
myUrl ="http://nba.sports.sina.com.cn/players.php?dpc=1"
user_agent = 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)'
headers = { 'User-Agent' : user_agent }
req = urllib.request.Request(myUrl, headers = headers)
myResponse = urllib.request.urlopen(req)
myPage = myResponse.read()
#encode的作用是将unicode编码转换成其他编码的字符串
#decode的作用是将其他编码的字符串转换成unicode编码
unicodePage = myPage.decode("GB2312")
#print(unicodePage)
myItems = re.findall(' <a href=\'(.*?)\'>(.*?)</a>',unicodePage,re.S)
items = []
for item in myItems: