xpath爬取豆瓣网保存为txt上传hive操作

xpath爬取豆瓣网保存为txt上传到hive操作

python爬取豆瓣top250网站
https://movie.douban.com/top250

爬取

在这里插入图片描述爬取了序号、名称、简介。

User-Agent查找

在这里插入图片描述NET-NetWork里边Doc有关user-agent和cookies等信息。

爬取过程

import requests
import pandas as pd
import os
import time
from lxml import etree
import re

def get_html(url):
    headers={
        'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36'
    }
    r=requests.get(url,headers=headers)
    r.raise_for_status()
    r.ending="utf-8"
    return r.text
def parse_page(html):
    dom=etree.HTML(html)
    rank=dom.xpath('//div[@class="pic"]/em/text()')
    #print(rank)
    name=dom.xpath('//div[@class="hd"]/a//span[1]/text()')
    #print(name)
    short=dom.xpath('//p[@class="quote"]/span/text()')
    #print(short)
    item=pd.DataFrame({
        'id':rank,
        'name':name,
        'short':short
    })
    item.to_csv('test.txt',sep=',',index=False,header=None)
    #print(item)
    print("保存成功!")  
    
if __name__=="__main__":
    url='https://movie.douban.com/top250'
    html=get_html(url)
    parse_page(html)
    print("爬取成功!")

这里只爬取了一页 如果爬取多页可以用for循环

爬取结果:在这里插入图片描述

上传到虚拟机

用vm-tools过程忽略
然后启动Hadoop、hive

建表

#建表
create table test_db1(id int,name string,short string)row format delimited fields terminated by ',' stored as textfile;
#上传本地文件
load data local inpath '/usr/test/test.txt' into table test_db1;
#查看
select * from test_db1 limit 10;

在这里插入图片描述
完成!

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值