qq_43178462 2023-01-08 21:31 采纳率: 37.5%
浏览 183
已结题

python爬数据代码

本人想在指定网站页面使用python脚本爬数据,网站http://mmt.favor2.info/satellites/1383(网站可手动更换,但是页面是一样的格式),爬取内容为网站页面表哥内最后的T。

img

页面内所有红色标记都需要爬下来。

  • 写回答

8条回答 默认 最新

  • 素影·流年 2023-01-08 21:44
    关注

    我看看,稍等 参数可以自己替换
    采纳

    import requests
    import re
    import wget
    import os
    import threading
    
    headers= {
        "User-Agent": "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 10.0; WOW64; Trident/7.0; .NET4.0C; .NET4.0E; Tablet PC 2.0; wbx 1.0.0; wbxapp 1.0.0; Zoom 3.6.0)"
    }
    
    
    def Download(url,savedir):
        print('%s 正在下载 将保存至 %s\n' % (url.strip(),savedir),end = '')
        wget.download(url,out = savedir)
        print('%s 已下载完毕 已保存至 %s\n' % (url.strip(),savedir),end = '')
        
    def LoadPage(url,savedir):
        global headers
        response = requests.get(url,headers = headers)
        text = response.text.encode(response.encoding).decode(response.apparent_encoding)
        result = re.findall('<a href=\"/satellites/track/(.*)/download\" title=\"Downoad track\">T</a>',text)
        print('%s 中的下载地址已获取(共%d项)' % (url,len(result)))
        threads = []
        for sid in result:
            thd = threading.Thread(target = Download,args = ('http://mmt.favor2.info/satellites/track/%s/download\n' % (sid),os.path.join(savedir,'track_%s.txt' % (sid)),))
            thd.start()
            threads.append(thd)
        while len(threads) != 0:
            threads[0].join()
            threads.pop(0)
            
    
    LoadPage('http://mmt.favor2.info/satellites/1383?page=3','./Data')
    

    img


    时间原因,只下载了三个,效果如上

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(7条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 1月11日
  • 已采纳回答 1月11日
  • 创建了问题 1月8日

悬赏问题

  • ¥30 自适应 LMS 算法实现 FIR 最佳维纳滤波器matlab方案
  • ¥15 lingo18勾选global solver求解使用的算法
  • ¥15 全部备份安卓app数据包括密码,可以复制到另一手机上运行
  • ¥15 Python3.5 相关代码写作
  • ¥20 测距传感器数据手册i2c
  • ¥15 RPA正常跑,cmd输入cookies跑不出来
  • ¥15 求帮我调试一下freefem代码
  • ¥15 matlab代码解决,怎么运行
  • ¥15 R语言Rstudio突然无法启动
  • ¥15 关于#matlab#的问题:提取2个图像的变量作为另外一个图像像元的移动量,计算新的位置创建新的图像并提取第二个图像的变量到新的图像