TPYI123 2021-07-27 10:11 采纳率: 88%
浏览 226
已结题

求 vb同时爬取网页数据的代码!!

多个timer 同时进行网页数据爬取应该怎么弄呢?

url4 = "https://query1.finance.yahoo.com/v8/finance/chart/CLNN?symbol=CLNN&period1=1626960600&period2=1627047000&useYfid=true&interval=1m&includePrePost=true&events=div%7Csplit%7Cearn&lang=en-US&region=US&crumb=buQ55SZKDGy&corsDomain=finance.yahoo.com"
With CreateObject("Microsoft.XMLHTTP")
.Open "GET", url4, True
.Send
While .ReadyState <> 4
DoEvents
Wend
shuju = (.responsetext)
End With

  • 写回答

2条回答 默认 最新

  • soar3033 2021-07-27 10:20
    关注
    Class spd'定义爬虫类
    Public url as String'定义url
    Sub sp()'定义方法
    With CreateObject("Microsoft.XMLHTTP")
    .Open "GET", url4, True
    .Send
    While .ReadyState <> 4
    DoEvents
    Wend
    shuju = (.responsetext)
    End With
    End Sub
    End Class
    Dim Tasks1 As New spd()'实例化爬虫类
    Dim Tasks2 As New spd()'实例化爬虫类
    Dim Tasks3 As New spd()'实例化爬虫类
    '更改每个爬虫类内要爬取的url地址
    Tasks1.url="https://query1.finance.yahoo.com/v8/finance/chart/CLNN?symbol=CLNN&period1=1626960600&period2=1627047000&useYfid=true&interval=1m&includePrePost=true&events=div%7Csplit%7Cearn&lang=en-US&region=US&crumb=buQ55SZKDGy&corsDomain=finance.yahoo.com"
    Tasks2.url="https://query1.finance.yahoo.com/v8/finance/chart/CLNN?symbol=CLNN&period1=1626960600&period2=1627047000&useYfid=true&interval=1m&includePrePost=true&events=div%7Csplit%7Cearn&lang=en-US&region=US&crumb=buQ55SZKDGy&corsDomain=finance.yahoo.com"
    Tasks3.url="https://query1.finance.yahoo.com/v8/finance/chart/CLNN?symbol=CLNN&period1=1626960600&period2=1627047000&useYfid=true&interval=1m&includePrePost=true&events=div%7Csplit%7Cearn&lang=en-US&region=US&crumb=buQ55SZKDGy&corsDomain=finance.yahoo.com"
    '创建线程
    Dim Thread1 As New System.Threading.Thread( _
           AddressOf Tasks1.sp)
    Dim Thread2 As New System.Threading.Thread( _
           AddressOf Tasks2.sp)
    Dim Thread3 As New System.Threading.Thread( _
           AddressOf Tasks3.sp)
    '运行线程
    Thread1.Start() ' 启动新线程。
       Thread1.Join() ' 等待线程 1 运行结束。
    Thread2.Start() ' 启动新线程。
       Thread2.Join() ' 等待线程 1 运行结束。
    Thread3.Start() ' 启动新线程。
       Thread3.Join() ' 等待线程 1 运行结束。
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 8月10日
  • 已采纳回答 8月2日
  • 创建了问题 7月27日

悬赏问题

  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改