如想提取这个网页上所有数据的数据下载链接,想到利用爬虫方法来实现。
思路:提取网页的源码—>筛选源码—>输出结果(保持文件)
原理:
网页源码有很多节点,源码的父节点是li,子节点有很多,我们需要的节点在a这个子节点,可以通过Beautifulsoup库筛选节点的内容,也就是我们想要的内容(上面想要的数据下载的链接)。
网页大部分用HTML语言来写的,按层级规定规定所属关系。
用BeautifulSoup抓取div标签:
from bs4 import BeautifulSoup
import pandas as pd
import requests
filepath='scihub.copernicus.eu.html'
with open(filepath,'rb') as f:
ss=f.read()
soup=BeautifulSoup(ss,'html.parser')
divfind=soup.find_all('div',class_ = 'list-link selectable')
# print(soup.find_all('div'))
linklist=[]
idlist=[]
for df in divfind:
#获取满足条件的div下的a标签
#提取a标签的内容,即为数据链接
link=df.find('a').string
id=link.split('\'')[1]
linklist.append(link)
idlist.append(id)
linkdataframe=pd.DataFrame(linklist)
iddataframe=pd.DataFrame(idlist)
#将数据链接写出
with pd.ExcelWriter('4Httpandid.xlsx') as hifile:
linkdataframe.to_excel(hifile,sheet_name='HTTP',header=False,index=False)
iddataframe.to_excel(hifile,sheet_name='ID',header=False,index=False)
print('done!')