python如何爬取网站所有目录_[python] 爬取网站所有的URL
运行python脚本,最终程序目录下会是这样:
result.txt中保存所有的URL
文件夹sh.neusoft.com中保存爬虫得到的所有网页
main.py的源代码如下
# -*- coding: utf-8 -*
import os
import re
import shutil
REJECT_FILETYPE = 'rar,7z,css,js,jpg,jpeg,gif,bmp,png,swf,exe'#定义爬虫过程中不下载的文件类型
def getinfo(webaddress):
global REJECT_FILETYPE
url = 'http://'+webaddress+'/'#通过用户输入的网址连接上网络协议,得到URL。
print 'Getting>>>>> '+url#打印提示信息,表示正在抓取网站
websitefilepath = os.path.abspath('.')+'/'+webaddress#通过函数os.path.abspath得到当前程序所在的绝对路径,然后搭配用户所输入的网址得到用于存储下载网页的文件夹
if os.path.exists(websitefilepath):#如果此文件夹已经存在就将其删除,原因是如果它存在,那么爬虫将不成功
shutil.rmtree(websitefilepath)#shutil.rmtree函数用于删除文件夹(其中含有文件)
outputfilepath = os.path.abspath('.')+'/'+'output.txt'#在当前文件夹下创建一个过渡性质的文件output.txt
fobj = open(outputfilepath,'w+')
command = 'wget -r -m -nv --reject='+REJECT_FILETYPE+' -o '+outputfilepath+' '+url#利用wget命令爬取网站
tmp0 = os.popen(command).readlines()#函数os.popen执行命令并且将运行结果存储在变量tmp0中
print >> fobj,tmp0#写入output.txt中
allinfo = fobj.read()
target_url = re.compile(r'\".*?\"',re.DOTALL).findall(allinfo)#通过正则表达式筛选出得到的网址
target_num = len(target_url)
fobj1 = open('result.txt','w')#在本目录下创建一个result.txt文件,里面存储最终得到的内容
for i in range(target_num):
print >> fobj1,target_url[i][1:-1]
fobj.close()
fobj1.close()
if os.path.exists(outputfilepath):#将过渡文件output.txt删除
os.remove(outputfilepath)#os.remove用于删除文件
if __name__=="__main__":
webaddress = raw_input("Input the Website Address(without \"http:\")>")
getinfo(webaddress)
print "Well Done."#代码执行完毕之后打印此提示信息
完事儿
python如何爬取网站所有目录_[python] 爬取网站所有的URL相关推荐
- python如何爬取网站所有目录_用python爬虫爬取网站的章节目录及其网址
认识爬虫 网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本.另外一些不常使用的名字还有蚂蚁.自动索引.模拟 ...
- python爬虫影评_Python爬虫(二十)_动态爬取影评信息
本案例介绍从JavaScript中采集加载的数据.更多内容请参考:Python学习指南 #-*- coding:utf-8 -*- import requests import re import t ...
- python爬取斗鱼鱼吧_[Python爬虫]使用Python爬取静态网页-斗鱼直播
作者:宅必备 Python爱好者社区--专栏作者 一个会写Python的Oracle DBA 个人公众号:宅必备 公众号:Python爱好者社区 作者其他文章: 好久没更新Python相关的内容了,这 ...
- 网站维护页面_营销型企业网站有哪些功能?
营销型企业网站是企业进行网络营销的一个利器,现在也越来越多企业重视做一个营销型网站.因为网站是客户和企业在网络上互相沟通的一个平台.所以营销型网站的功能也是运营人员在运营的过程中非常重视的体验,今天牛 ...
- python怎么让py里面逐行运行_[python]开发环境bug(求助)
之前写的整理文件格式脚本就出现过这个问题,今天特地做了个测试,本来想弄清出错的位置现在彻底懵了,求大佬解释. 0.用一个简单的python程序生成一个短的特殊文本. test = open('','w ...
- python爬取快手粉丝榜_[Python] 【原创开源】快手爬虫,根据id批量爬取用户的所有图集和视频...
分享 写在前面代码功能如题,根据快手用户的id来爬取用户所有公开作品,包括图集和视频. 原理:其实就是利用基于chromium内核的浏览器自带的devtools对所有请求进行排查找出包含作品链接的请求 ...
- python爬取b站排行榜_实时爬取B站排行榜并保存为表格——每周一个爬虫小教程系列...
从这周开始,每周来一个爬虫小教程,希望对你们有所帮助,这次的目标是B站排行榜至于爬取什么内容,目前感觉就把序号,名称以及评分爬取下来吧(因为我是边写教程边写代码的) 这次需要用到的知识:Request ...
- python爬取b站弹幕_如何爬取B站弹幕
前言 主要记录自己完成爬虫的思路:从how to do到what to do这是一个拿 python 练手的项目,虽说是入门级,但其余爬虫也万变不离其宗 ̄へ ̄ [源代码地址 Github:bili-d ...
- Ajax爬取豆瓣电影目录(Python)
下面的分析相当于一个框架,搞懂之后,对于类似的文字爬取,我们也可以实现.就算不能使用Ajax方法,我们也能够使用相同思想去爬取我们想要的数据. 豆瓣电影排行榜分析 网址:https://movie.d ...
最新文章
- python -socket -client
- SpringBoot多线程环境下,解决多个定时器冲突问题
- 程序计算机限制无法打开,由于一个软件限制策略的阻止,windows无法打开此程序...解决方案参考...
- linux怎么运行cli,linux脚本 直接用cli模式运行脚本
- python右对齐格式化输出_Python中格式化输出的两种方法介绍
- Java序列化简单例子
- linux 超时 tcp,Linux中TCP设置syn超时时间
- python 实现装饰器设计模式
- 修改ant design vue中的Icon图标颜色
- 单耳蓝牙耳机怎么连接_蓝牙耳机怎么挑选?推荐性价比高的蓝牙耳机
- 使用tomcat8下的websocket进行web前后端通信
- MySQL正则表达式的使用
- MySQL-Cluster7.2.5安装和配置
- python的优点有哪些-python语言有什么优势
- Linux之/etc/fstab文件详解及实践
- Android开发 UI布局
- mantis修改mysql端口_mantis配置邮件服务-465端口
- 10行代码,带你理解自然底数e、自然指数ln
- 第四方汇聚支付接口对接Php
- txt文件所有大写字母转小写代码
热门文章
- C++的const比C语言#define更好的原因?
- mes系统服务器要求,mes系统 服务器配置
- 40_pytorch Batch Norm
- Nginx安装,Nginx静态缓存,Nginx Gzip压缩,Nginx负载均衡,Nginx方向代理,Nginx+Tomcat+Redis做session共享
- java代码中哪些不能犯的错误_Java程序员工作中千万不能犯的3个低级错误
- 5新标签中超链接_一环路新标签——“市井生活圈” 正在更新中......
- Pytorch模型(.pth)转onnx模型(.onnx)
- linux设备模型,bus,device,driver,实验遇到的问题
- python 识别验证码
- [Winform]WebKit.Net使用