爬取XML的数据和爬取json的数据差不多,区别在于XML有树结构,不过Python提供了很强大的lxml模块

#! /usr/bin/env python
# coding=utf-8
import requests
from lxml import etree
import sys
import xlwt

#初始化
reload(sys)
sys.setdefaultencoding('utf8')
workbook = xlwt.Workbook(encoding='utf-8')
worksheet = workbook.add_sheet('Worksheet')

#函数声明
def http_get(url):
    return etree.XML(requests.get(url,stream=True).content)

def opp_hot(url):
    xml_data = http_get(url)
    worksheet.write(0, 0, '热点事件')
    worksheet.write(0, 1, '搜索指数')
    worksheet.write(0, 2, '波动')
    row = 1
    for a in xml_data.iter('keyword'):
        list = [a.find('key').text,a.find('srchs').text,a.find('change').text]
        for p in range(0, 3):
            worksheet.write(row, p, label=list[p])
        row=row+1
    print row-1
    workbook.save('xml_data.xls')

#开始执行    
url = 'http://top.baidu.com/wave'
#root = http_get(url)
opp_hot(url)

这次主要学习的内容是lxml模块,网上有一位大佬描述的很详细

地址:https://www.cnblogs.com/dahu-daqing/p/6749666.html

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐