python爬取酷狗音乐排行榜

yipeiwu_com6年前Python爬虫

本文为大家分享了python爬取酷狗音乐排行榜的具体代码,供大家参考,具体内容如下

#coding=utf-8
from pymongo import MongoClient
import time 
import requests 
from lxml import etree 
 
client = MongoClient()      #连接mongo
hello = client.hello       #连接数据库
user = hello.song         #连接表
 
headers = { 
  'User-Agent': 'Mozilla/5.0 (Android 6.0; Nexus 5 Build/MRA58N)\
  AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Mobile Safari/537.36'} 
 
def get_info(url): 
  '''
  get源码,encode,解析,xpath,保存 
  '''
  response = requests.get(url, headers=headers) 
  response = response.text.encode('utf-8') 
  selector = etree.HTML(response) 
  soup = selector.xpath('//*[@class="pc_temp_songlist "]/ul//li/a/text()') 
 
  #保存到本地
  # with open('aa.txt','a') as f:
    # for i in soup:
      # f.write(i.encode('utf-8') + '\n')
 
  #存入数据库
  for i in soup:
    user.insert({'song': i})
 
if __name__ == '__main__': 
  urls = ['http://www.kugou.com/yy/rank/home/{}-8888.html?from=rank'.format(str(i)) for i in range(1, 24)] 
  for url in urls: 
    print(url) 
    get_info(url)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python爬虫实现网页信息抓取功能示例【URL与正则模块】

本文实例讲述了Python爬虫实现网页信息抓取功能。分享给大家供大家参考,具体如下: 首先实现关于网页解析、读取等操作我们要用到以下几个模块 import urllib import...

如何爬取通过ajax加载数据的网站

如何爬取通过ajax加载数据的网站

目前很多网站都使用ajax技术动态加载数据,和常规的网站不一样,数据时动态加载的,如果我们使用常规的方法爬取网页,得到的只是一堆html代码,没有任何的数据。 请看下面的代码: ur...

用python爬取历史天气数据的方法示例

用python爬取历史天气数据的方法示例

某天气网站(www.数字.com)存有2011年至今的天气数据,有天看到一本爬虫教材提到了爬取这些数据的方法,学习之,并加以改进。 准备爬的历史天气 爬之前先分析url。左上有年份、...

Python tornado队列示例-一个并发web爬虫代码分享

Queue Tornado的tornado.queue模块为基于协程的应用程序实现了一个异步生产者/消费者模式的队列。这与python标准库为多线程环境实现的queue模块类似。 一个协...

Python 用Redis简单实现分布式爬虫的方法

Redis通常被认为是一种持久化的存储器关键字-值型存储,可以用于几台机子之间的数据共享平台。 连接数据库 注意:假设现有几台在同一局域网内的机器分别为Master和几个Slaver...