重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
跟linux有什么关系,python是跨平台的,爬取图片的代码如下:
创新互联坚信:善待客户,将会成为终身客户。我们能坚持多年,是因为我们一直可值得信赖。我们从不忽悠初访客户,我们用心做好本职工作,不忘初心,方得始终。十年网站建设经验创新互联是成都老牌网站营销服务商,为您提供网站设计、网站建设、网站设计、H5响应式网站、网站制作、成都品牌网站建设、微信小程序服务,给众多知名企业提供过好品质的建站服务。
import urllib.requestimport osimport randomdef url_open(url):
req=urllib.request.Request(url) #为请求设置user-agent,使得程序看起来更像一个人类
req.add_header('User-Agent','Mozilla/5.0 (Windows NT 6.1; WOW64; rv:43.0) Gecko/20100101 Firefox/43.0') #代理IP,使用户能以不同IP访问,从而防止被服务器发现
'''iplist=['1.193.162.123:8000','1.193.162.91:8000','1.193.163.32:8000']
proxy_support=urllib.request.ProxyHandler({'http':random.choice(iplist)})
opener=urllib.request.build_opener(proxy_support)
opener.addheaders=[('User-Agent','Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.154 Safari/537.36 LBBROWSER')]
urllib.request.install_opener(opener)'''
response=urllib.request.urlopen(req)
html=response.read() return htmldef get_page(url):
html=url_open(url).decode('utf-8')
a=html.find('current-comment-page')+23
b=html.find(']',a) #print(html[a:b])
return html[a:b]def find_imgs(url):
html=url_open(url).decode('utf-8')
img_addrs=[]
a=html.find('img src=') while a!=-1:
b=html.find('.jpg',a,a+140) if b!=-1: if html[a+9]!='h':
img_addrs.append('http:'+html[a+9:b+4]) else:
img_addrs.append(html[a+9:b+4]) else:
b=a+9
a=html.find('img src=',b) for each in img_addrs:
print(each+'我的打印') return img_addrsdef save_imgs(folder,img_addrs):
for each in img_addrs: #print('one was saved')
filename=each.split('/')[-1] with open(filename,'wb') as f:
img=url_open(each)
f.write(img)def download_mm(folder='ooxx',pages=10):
os.mkdir(folder)
os.chdir(folder)
url=""
page_num=int(get_page(url)) for i in range(pages):
page_num=page_num-1
page_url=url+'page-'+str(page_num)+'#comments'
img_addrs=find_imgs(page_url)
save_imgs(folder,img_addrs)if __name__=='__main__':
download_mm()1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
完成
运行结果
mac用来写python爬虫可以Linux下运行Python程序,一般说来有以下两种形式,其实和Windows下基本一样。
一、在IDLE中运行
在终端窗口输入$ python进入交互式运行环境,然后就可以边输入边执行代码了:
print 'Hello Python'
Hello Python退出使用Ctrl-D。
二、以脚本方式运行
在py脚本所在目录下输入
默认的路径是你安装时候指定的
如果用的LNMP之类的安装包
你可以在SHELL下
whereisnginx
找到相应的路径之后
在NGINX下的CONF文件夹里看配置文件,日志文件如果记录了话
在配置文件里有路径的~
python和linux两者间没什么关系,python是一门程序设计语言,linux是一个操作系统,向上支持应用软件的运行,向下控制硬件,是软件和硬件的过渡层。Python语言可以在Linux系统下学习和开发。
比如,如果是想用Python开发网站(现今流行的、成熟的Python Web框架)就需要使用到Linux平台;如果想使用Python爬虫爬取数据,在Linux系统上也要更方便一些;还有就是想学习网络安全渗透测试,在Linux上编写Python自动化测试脚本也很有必要。
扩展资料:
可以通过python对linux进行操作,利用python操纵linux的命令为:
1、import os
#返回操作系统类型,值为posix,是linux操作系统,值为nt,是window操作系统
2、print os.name
#返回操作系统的详细信息
3、print os.uname()
#系统的环境变量
4、print os.environ
print os.environ.get('PATH')
#判断是否为绝对路径(不会判断文件或者目录是否存在)
5、print os.path.isabs('/tmp/westos')
print os.path.isabs('hello')
#生成绝对路径
先放入linux文件里面,然后使用hdfs命令将本地文件传输到hdfs即可
用Python开发爬虫很方便。
本质:抓取---分析---存储
要点:
(1)get请求:最基本抓取。用到 urllib urllib2 requests httplib2 。
(2)表单登陆:向服务器发送post请求,服务器再将返回的cookie存入本地
(3)使用cookie登陆:
(4)对于反爬虫机制的处理:
(5)对于断线重连:使用multi_session和multi_open对爬虫抓取的session或opener进行保持
(6)多线程抓取
(7)对于Ajax请求
(8)自动化测试工具Selenium
由于 Linux下已经预装了 lxml 和 OPENSSL
如果想验证 lxml ,可以分别输入
出现下面的提示这证明已经安装成功
如果想验证 open ssl,则直接输入openssl 即可,如果跳转到 OPENSSL 命令行,则安装成功。
接下来直接安装 Scrapy 即可
安装完毕之后,输入 scrapy
注意,这里linux下不要输入Scrapy,linux依然严格区分大小写的,感谢kamen童鞋提醒。
如果出现如下提示,这证明安装成功
下面是stackoverflow上的高票解决办法:
I've just fixed this issue on my OS X.
Please backup your files first.
Scrapy 1.0.0 is ready to go.