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日

悬赏问题

  • ¥15 求.net core 几款免费的pdf编辑器
  • ¥20 SQL server表计算问题
  • ¥15 C# P/Invoke的效率问题
  • ¥20 thinkphp适配人大金仓问题
  • ¥20 Oracle替换.dbf文件后无法连接,如何解决?(相关搜索:数据库|死循环)
  • ¥15 数据库数据成问号了,前台查询正常,数据库查询是?号
  • ¥15 算法使用了tf-idf,用手肘图确定k值确定不了,第四轮廓系数又太小才有0.006088746097507285,如何解决?(相关搜索:数据处理)
  • ¥15 彩灯控制电路,会的加我QQ1482956179
  • ¥200 相机拍直接转存到电脑上 立拍立穿无线局域网传
  • ¥15 (关键词-电路设计)