Python网络爬虫

Python网络爬虫NGA论坛
一.前期准备

1.开发环境eclips,但是需要配置python开发环境

2.需要用到BeatifulSoup库,以及requests库,matplotlib库

3.urllib的request模块可以非常方便地抓取URL内容,也就是发送一个

GET请求到指定的页面,然后返回HTTP的响应

二,代码实现
1.目标网页
网址:http://game.nga.cn/all
在这里插入图片描述

2.主函数

def main():
for i in range(1, 21):
url = “http://t.cn/EUsUggL” + i.str()
html = getHTMLText(url)
soup = BeautifulSoup(html, “html.parser”)
fillRanke(soup)
printRanke()
drawlabal()
这里的fillRanke(Soup)函数用来提取抓取到的网页数据,提取我们需要

的数据,printRanke()函数用来保存抓取到的数据并且进行分类处理。drawlabal()函数用来画饼状图

3.fillRanke(Soup)函数实现代码
def fillRanke(soup):
data = soup.find_all(‘div’, class_=“blockItemBox clearfix”)
for td in data:
ltd = td.find_all(‘h5’)
ttd = td.find_all(‘div’, class_=“time”)
ntd = td.find_all(‘div’, class_=“num”)

singleUniv = []
anotherUniv = []
numvUniv = []
for td in ltd:

        singleUniv.append(td.text)
    for time in ttd:
        anotherUniv.append(time.text)
    for num in ntd:
        numvUniv.append(num.text)
    allUniv.append(singleUniv)
    timeUniv.append(anotherUniv)
    numUniv.append(numvUniv)

4.printRanke()函数代码

def printRanke():
try:
file = open(r’E:\comment.txt’, ‘w’)
file1 = open(r’E:\high.txt’, ‘w’)
file2 = open(r’E:\short.txt’, ‘w’)
for i in range(len(allUniv)):
u = allUniv[i]
v = timeUniv[i]
w = numUniv[i]
for j in range(len(u)):
print(u[j] + v[j] + " " + “评分” + w[j]+’\n’)
num = eval(w[j])
file.write(u[j] + v[j] + " " + “评分” + w[j] + ‘\n’)
if (num < 7):
file2.write(u[j] + v[j] + " " + “评分” + w[j] + ‘\n’)
if (num >= 9):
file1.write(u[j] + v[j] + " " + “评分” + w[j] + ‘\n’)

这里有文件处理有关类容,open(r’E:\comment.txt’, ‘w’),打开文件进行写
操作,如果路径并没有文件就创建,打开之后要记得写关闭操作file.close();

5.drawlabal()函数
def drawlabal():
labels=[‘high’,‘low’]
X=[99,279]
fig = plt.figure()
plt.pie(X,labels=labels,autopct=’%1.2f%%’) #画饼图(数据,数据对应的标签,百分数保留两位小数点)
plt.title(“Pie chart”)
plt.show()
5.实现效果
低分
在这里插入图片描述

高分
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值