goquery库编写程序

2023-11-04 05:04
文章标签 编写程序 goquery

本文主要是介绍goquery库编写程序,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

goquery库的爬虫程序,该程序使用Go来爬取视频。。

package main
​
import ("fmt""net/http""net/http/httputil""io/ioutil""log""strings""golang.org/x/net/proxy""golang.org/x/net/html""github.com/PuerkitoBio/goquery"
)
​
func main() {// 创建一个HTTP客户端proxy := &http.Transport{Proxy: http.ProxyURL(proxyURL),// 更多配置...}client := &http.Client{Transport: proxy}
​// 发送GET请求到目标URLresp, err := client.Get("")if err != nil {log.Fatal(err)}defer resp.Body.Close()
​// 使用body内容来创建一个新的http请求body, err := ioutil.ReadAll(resp.Body)if err != nil {log.Fatal(err)}newReq, err := http.NewRequest("GET", ", strings.NewReader(string(body)))if err != nil {log.Fatal(err)}newReq.Header = resp.Header
​// 使用新的请求创建一个新的http响应newResp, err := client.Do(newReq)if err != nil {log.Fatal(err)}defer newResp.Body.Close()
​// 使用goquery解析新的响应doc, err := goquery.NewDocumentFromReader(newResp.Body)if err != nil {log.Fatal(err)}
​// 查找所有视频元素videoElements := doc.Find(".video-item")
​// 遍历视频元素并打印它们的URLfor i, element := range videoElements.Nodes {video := element.Find("a").AttrOr("href", "")fmt.Printf("视频 %d 的 URL 是 %s\n", i+1, video)}
}

这是一个基本的爬虫程序,它使用goquery库来解析HTML内容,并查找所有视频元素的URL。

这篇关于goquery库编写程序的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/343435

相关文章

编写程序:输入三个整数,然后按由大到小的顺序输出这三个数。

方法一(直接交换) #include<stdio.h>int main(){int a,b,c;scanf("%d%d%d",&a,&b,&c); //可以这么写 想办法把a换成最大的数 ,之后是b cint temp;if(a<b){temp=a;a=b;b=temp;} if(a<c){temp=a;a=c;c=temp;}if(b<c){temp=b;b=c;c=temp;}print

某学生有两门考试课程,实行百分制考核。编写程序,输入这两门课程的成绩,计算其平均成绩。

#include<stdio.h>int main(){float a,b;scanf("%f%f",&a,&b);printf("%.2f\n",(a+b)/2.0); return 0;} 这里需要注意数据类型,分数不一定是整数,可能是实数。

编写程序,读入未指定个数的整数,判断读入的整数有多少个,读入的负数有多少个

编写程序,读入未指定个数的整数,判断读入的整数有多少个,读入的负数有多少个,输入0表示程序结束,计算总和和平均值。 import java.util.Scanner; public class chapt3 { public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.

本题要求编写程序,计算并输出2个正整数的和、差、积、商。题目保证输入和输出全部在整型范围内。

/* 题目描述 本题要求编写程序,计算并输出2个正整数的和、差、积、商。 题目保证输入和输出全部在整型范围内。  输入 输入在一行中给出2个正整数A和B。 输出 在4行中按照格式“A 运算符 B = 结果”顺序输出和、差、积、商。 */  #include<stdio.h> #include<math.h>  int main() {     int num1,num2;     scan

Aseembly(八)-汇编语言编写程序

前言 在该系列的第六篇文章我们主要讲述了:关于栈的寄存器:SS和SP的问题 来回一下: 对于栈指针来说,栈在被开辟的时候,首先要通过SS指针去找到开辟栈的地址空间的首地址,随后,SP指针指向该栈空间的末尾的下一个空间处.当执行push指令时,sp会-2 随后将目标压入栈中 当执行pop指令时,会先将元素弹出,随后执行sp+2 还回顾了关于不同段寄存器的作用: ds与[] 是读取数据 cs:ip是

【Java】—— 使用Java编写程序找出100以内的质数

质数的定义与性质         质数是指只能被1和自身整除的正整数。根据定义,质数必须大于1。例如,2、3、5、7、11等都是质数。质数的性质如下: 每个大于1的自然数要么是质数,要么可以分解成几个质数的乘积。除了2和3之外,所有的质数都是奇数。质数的个数是有限的,并且随着数字的增加而逐渐增多。质数分布不均匀,相邻的两个质数之间的差可能很大。         质数是大于1的自然数,除了

编写程序,采用辗转相除法求解两个正整数的最大公约数

--编写程序,采用辗转相除法求解两个正整数的最大公约数DECLARE @a int,@b intSELECT @a=12,@b=21DECLARE @temp intprint cast(@a as varchar(5))+'和'+cast(@b as varchar(5))+'的最大公约数是'if @a<@b --或者是select @temp=@a,@a=@b,@b=@tempb

编写程序实现谢尔宾斯基三角形

废话不说,只看代码!嘻嘻。。。。 import java.awt.Color;import java.awt.Dimension;import java.awt.Graphics;import java.awt.Toolkit;import java.awt.event.MouseAdapter;import java.awt.event.MouseEvent;import java

go 语言爬虫库goQuery 的详细使用(知乎日报详情页解析示例)

上一篇《uniapp小程序开发 | 从零实现一款影视类app 》实现了影视小程序的前端和后台接口,虽然包含了大多数小程序应有的知识,但基本还只是涉及网络接口和vue页面的设计。这里介绍下零一个有趣的练手项目,知乎日报。涉及详情页面的html解析,使用了golang的goquery三方库。 前言 知乎日报这个案例很经典,有比较完整的API,很值得模仿学习。 也很简单,唯一需要注意的是日报详

编写程序,键盘输入x和y的值,计算并输出表达式 ln(3x-1)/y的值。要求设置异常处理,对除0、负数求对数两种情况进行异常捕捉处理(math.log)

a=ln(3x-1)/ydef except_test(x,y):try: #检查是否为0或复数if y<=0:print("不好意思,请输入大于0的数字")result=math.log(3*x-1)/yreturn resultexcept ValueError as e:print(f"报错信息为:{e}")except Exception as e:print(f"异常信息为:{e