package main

import (
"fmt"
"github.com/antchfx/htmlquery"
"io/ioutil"
"net/http"
) func main() { var url string = "https://www.huya.com/l" resp, _ := http.Get(url) defer resp.Body.Close() doc,_ := htmlquery.Parse(resp.Body)
list := htmlquery.Find(doc, "//ul[@id='js-live-list']//li")
for _,li := range list{
nick := htmlquery.FindOne(li,"//i[@class='nick']/text()")
//people := htmlquery.FindOne(li,"//i[@class='js-num']/text()")
//title := htmlquery.FindOne(li,"//a[@class='title']")
img := htmlquery.FindOne(li,"//a[@class='video-info ']/img/@data-original")
//fmt.Printf("%s %s %s %s\n",htmlquery.InnerText(nick),htmlquery.InnerText(people),htmlquery.SelectAttr(title,"title"),htmlquery.SelectAttr(img,"data-original"))
imgurl := htmlquery.SelectAttr(img,"data-original")
titleString := htmlquery.InnerText(nick) savepic(imgurl,titleString)
} } func savepic(url string,name string ) {
if len(url)<= 0{
return
} if url[0:2] == "//" {
url = "http:"+url
} resp, err := http.Get(url)
if err !=nil{
fmt.Println("http error",err)
return
}
content, err1 := ioutil.ReadAll(resp.Body)
if err1 != nil{
fmt.Println("read err",err1)
return
} file := ioutil.WriteFile("./imgs/"+name+".jpg", content, 0777)
if file != nil {
fmt.Printf("下载图片%s 失败\n", name)
} else{
fmt.Printf("下载图片%s 成功\n", name)
} }

  

go 虎牙爬取的更多相关文章

  1. Scrapy:虎牙爬取,图片存储与数据分析

    第一次爬取虎牙主播数据,有点小激动 1.共批量爬取的101个主播的,包括 头像 主播名字 房间号 房间链接 2.数据规整部分,需要将json数据加载到pandas的Dataframe,只显示的前15个 ...

  2. Scrapy框架爬虫初探——中关村在线手机参数数据爬取

    关于Scrapy如何安装部署的文章已经相当多了,但是网上实战的例子还不是很多,近来正好在学习该爬虫框架,就简单写了个Spider Demo来实践.作为硬件数码控,我选择了经常光顾的中关村在线的手机页面 ...

  3. python爬取github数据

    爬虫流程 在上周写完用scrapy爬去知乎用户信息的爬虫之后,github上star个数一下就在公司小组内部排的上名次了,我还信誓旦旦的跟上级吹牛皮说如果再写一个,都不好意思和你再提star了,怕你们 ...

  4. Python多线程爬虫爬取电影天堂资源

    最近花些时间学习了一下Python,并写了一个多线程的爬虫程序来获取电影天堂上资源的迅雷下载地址,代码已经上传到GitHub上了,需要的同学可以自行下载.刚开始学习python希望可以获得宝贵的意见. ...

  5. python3爬取1024图片

    这两年python特别火,火到博客园现在也是隔三差五的出现一些python的文章.各种开源软件.各种爬虫算法纷纷开路,作为互联网行业的IT狗自然看的我也是心痒痒,于是趁着这个雾霾横行的周末瞅了两眼,作 ...

  6. 从爬取湖北某高校hub教务系统课表浅谈Java信息抓取的实现 —— import java.*;

    原创文章与源码,如果转载请注明来源. 开发环境:Myeclipse,依赖包:apache-httpclient . Jsoup.base64 一.概述 整个系统用Java开发.我们现在要做的是类似于超 ...

  7. 使用beautifulsoup与requests爬取数据

    1.安装需要的库 bs4 beautifulSoup  requests lxml如果使用mongodb存取数据,安装一下pymongo插件 2.常见问题 1> lxml安装问题 如果遇到lxm ...

  8. python爬虫学习(7) —— 爬取你的AC代码

    上一篇文章中,我们介绍了python爬虫利器--requests,并且拿HDU做了小测试. 这篇文章,我们来爬取一下自己AC的代码. 1 确定ac代码对应的页面 如下图所示,我们一般情况可以通过该顺序 ...

  9. Python实战项目网络爬虫 之 爬取小说吧小说正文

    本次实战项目适合,有一定Python语法知识的小白学员.本人也是根据一些网上的资料,自己摸索编写的内容.有不明白的童鞋,欢迎提问. 目的:爬取百度小说吧中的原创小说<猎奇师>部分小说内容 ...

随机推荐

  1. oracle之三备份恢复概述

    备份恢复概述 1.1 数据库故障的类型: 1)user process failure: pmon 自动处理 2)instance failure: smon 自动处理 3)user errors : ...

  2. js实现隔行变色

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  3. vue | 基于vue的城市选择器和搜索城市对应的小区

    城市选择器应该是比较常用的一个组件,用户可以去选择自己的城市,选择城市后返回,又根据自己选择的城市搜索小区. 功能展示 这是选择结果 这是选择城市 这是搜索小区 这是搜索小区接口,key为城市名字,i ...

  4. 出行即服务(MAAS)框架

    转自 出行即服务(MAAS)框架 一.概况 在共享交通模式和智能信息技术的基础之上,城市出现了全新的交通理念——“出行即服务(Mobility-as-a-Service,简称MaaS)”.MaaS将各 ...

  5. 4.CountDownLatch-闭锁

  6. phpStudy8.1.0.1配置子域名多网站

    版本 这里phpStudy版本为8.1.0.1: 步骤 假设域名为:domain.com:公网IP地址为:42.33.33.33 首先云解析中配置,添加子域名A记录直接指向你的公网IP: ep.dom ...

  7. 使用JWT登录生成token

    package com.example.demo.util; import com.auth0.jwt.JWT; import com.auth0.jwt.JWTVerifier; import co ...

  8. sqlserver date与datetime区别及sqlserver日期格式转换

    date是SQL Server 2008新引进的数据类型.它表示一个日子,不包含时间部分,可以表示的日期范围从公元元年1月1日到9999年12月31日.只需要3个字节的存储空间.DateTime 日期 ...

  9. 一种统计ListView滚动距离的方法

    注:本文同步发布于微信公众号:stringwu的互联网杂谈 一种统计ListView滚动距离的方法 ListView做为Android中最常使用的列表控件,主要用来显示同一类的数据,如应用列表,商品列 ...

  10. Python练习题 002:奖金计算

    [Python练习题 002]企业发放的奖金根据利润提成.利润(I)低于或等于10万元时,奖金可提10%:利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成 ...