网页css js 抓取助手(一个网站练习一下爬虫实现的功能全站获取CSS,JS,img等文件连接获取)

优采云 发布时间: 2022-01-28 23:18

  网页css js 抓取助手(一个网站练习一下爬虫实现的功能全站获取CSS,JS,img等文件连接获取)

  闲暇之余,刚好找了一个网站来练习爬虫,总结一下写爬虫时遇到的知识点。

  实现的功能

  抓取站点范围的 URL

  获取CSS、JS、img等文件连接

  获取文件名

  将文件保存到本地

  使用的模块

  urllib

  BS4

  回覆

  操作系统

  第 1 部分:抓取站点范围的 URL

  先粘贴代码

  # 获取当前页面子网站子网站

def get_urls(url, baseurl, urls):

with request.urlopen(url) as f:

data = f.read().decode('utf-8')

link = bs(data).find_all('a')

for i in link:

suffix = i.get('href')

# 设置排除写入的子连接

if suffix == '#' or suffix == '#carousel-example-generic' or 'javascript:void(0)' in suffix:

continue

else:

# 构建urls

childurl = baseurl + suffix

if childurl not in urls:

urls.append(childurl)

  # 获取整个网站URL

def getallUrl(url, baseurl, urls):

get_urls(url, baseurl, urls)

end = len(urls)

start = 0

while(True):

if start == end:

break

for i in range(start, end):

get_urls(urls[i], baseurl, urls)

time.sleep(1)

start = end

end = len(urls)

  通过urllib包中的请求,调用urlopen访问网站

  首先从首页开始,首页一般收录各个子页面的url,将抓取到的url添加到一个列表中

  然后读取这个列表的每个元素,依次访问,获取子页面的url连接,加入到列表中。

  感觉这样抓取全站的url不是很靠谱,有时间再完善。

  第二部分:获取css、js、img的连接

  先粘贴代码

   # 获取当前网页代码

with request.urlopen(url) as f:

html_source = f.read().decode()

<p> # css,js,img正则表达式,以获取文件相对路径

patterncss = &#39;

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线