
目录
了解什么是爬虫
安装相关的库
分析爬取的网页
写出代码
一:了解什么是爬虫
爬虫专业来讲就是一个探测机器,又被称为网络蜘蛛或网络机器人,是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本,另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。
但通俗来讲,爬虫就是模仿个人浏览网站,即爬取过程就是在模仿人的动作。
二:安装相关的库requests-------------使用该库来进行对url的请求
bs4--------------------bs4即Beautiful Soup,bs4库是解析、遍历、维护、“标签树“的功能库
pandas---------------用于快速分析数据,以及数据清洗和准备等工作
time-------------------python时间库,用于爬取时设置时间,防止IP被封
三:分析爬取的网页今天爬取的网页为酷狗排行榜
URL="酷狗飙升榜_排行榜_乐库频道_酷狗网"
点击F12,找到请求头,即:Request Headers
在找到我们所要爬取的信息所在的标签
如图,便可找到歌曲名即歌手名字
四:写代码#导入相关的库
import requests
from bs4 import BeautifulSoup
import pandas as pd
import time
#发送给服务器的头部信息,即本机信息
headers = {
'User.Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36'
}
#建立一个空列表
a=[]
#设置爬取函数
def get_info(url):
#通过requests向服务器发送get请求
wb_data = requests.get(url, headers=headers)
#通过lxml解析该网站
soup = BeautifulSoup(wb_data.text, 'lxml')
#以下两步为提取相应标签下的信息
ranks = soup.select('span.pc_temp_num')#提取排名信息
#提取歌曲名,歌手名
titles = soup.select('div.pc_temp_songlist > ul > li > a')#提取歌曲时间
times = soup.select('span.pc_temp_tips_r > span')
for rank, title, time in zip(ranks, titles, times):
str1 = title.get_text().split('.')#使用split进行分割
data = {
'rank': rank.get_text().strip(),
'singer': str1[0],
'song': str1[-1],
'time': time.get_text().strip()
}
a.append(data)#添加到之前的空列表中
print(data)#输出data列表
#设置主函数
if __name__ == '__main__':
urls = [
'http://www.kugou.com/yy/rank/home/{}.8888.html'.format(str(i)) for i in range(1, 2)
]
for url in urls:
get_info(url)
time.sleep(2)
#保存爬取的数据
df_out=pd.Dataframe(a,columns=['rank','singer','song','time'])
df_out.to_excel('aaa.xlsx')
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)