本人想在指定网站页面使用python脚本爬数据,网站http://mmt.favor2.info/satellites/1383(网站可手动更换,但是页面是一样的格式),爬取内容为网站页面表哥内最后的T。
页面内所有红色标记都需要爬下来。
本人想在指定网站页面使用python脚本爬数据,网站http://mmt.favor2.info/satellites/1383(网站可手动更换,但是页面是一样的格式),爬取内容为网站页面表哥内最后的T。
页面内所有红色标记都需要爬下来。
我看看,稍等 参数可以自己替换
望 采纳
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')