python爬虫(5)——BeautifulSoup & docker基础

BeautifulSoup基础实战

安装:pip install beautifulsoup4

常用指令:

from bs4 import BeautifulSoup as bs
import urllib.request
data=urllib.request.urlopen("https://www.cnblogs.com/mcq1999/").read().decode("utf-8","ignore")
bs1=bs(data)
print(bs1.prettify()) #格式化输出
print(bs1.title) #获取标签title,bs对象.标签名
print(bs1.title.string) #获取标签title的文字
print(bs1.title.name) #获取标签名,如title
print(bs1.a.attrs) #获取属性列表 键值对
print(bs1.a['name']) #获取某个属性对应的值
print(bs1.find_all('a')) #提取所有某个节点的内容,传参是标签名
print('---------------------------------')
print(bs1.find_all(['a','ul']))
k1=bs1.ul.contents #提取当前节点的所有子节点,返回一个列表
k2=bs1.ul.children #返回一个生成器
allulc=[i for i in k2]

PhantomJS基础实战

效率不高,但可以解决很多反爬问题,本质是一个无界面的浏览器,通过命令行(或python)操纵。通常难点部分通过PhantomJS写,然后将数据交给urllib或scrapy进行后续处理。

目前已PhantomJS和selenium分手,以后再学。

分布式爬虫之docker基础

镜像:不可以改变内容

容器:可以改变内容,相当于虚拟机,默认情况下彼此封闭

优点:轻部署、省成本、部署迁移方便

安装:yum -y install docker

启动和关闭:

systemctl start docker

systemctl stop docker

启动时如果出现1766660-20190905192012358-587611491.png

可以参考下面这篇博客,我的就这样成功了,其他的方法都没用

https://blog.csdn.net/w1316022737/article/details/83692701

最好再修改一下docker的镜像源,不然运行的很慢:

https://blog.csdn.net/julien71/article/details/79760919

查看已有镜像:docker images

下载镜像:docker pull

创建容器:docker run -tid

查看容器:docker ps -a

1766660-20190905192029364-543373416.png

进入容器:docker attach

1766660-20190905192042477-1810429941.png

退出容器:一般不用exit,因为会停止容器。我们用ctrl+p+q即可。

在容器里的操作不会影响本机,相当于在虚拟机里再开了个虚拟机

启动容器:docker start …

封装容器成镜像:docker commit 2d6 mytest:v1

1766660-20190905191942368-1287691578.png

基于镜像给容器起名字: docker run -tid --name testabc a2a (基于a2a这个镜像创建一个名为testabs的容器)

docker run -tid --name h1 mytest:v1

docker run -tid --name h2 --link h1 mytest:v1 (将容器h2链接到h1,即让h2和h1通信)

这里我用ubuntu的镜像发现ping、yum等等命令都没有,所以改用了centos的镜像。

[root@hadoop106 mcq]# docker attach fe3
[root@fe3489945006 /]# cat /etc/hosts
127.0.0.1 localhost
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
172.17.0.6 c1 4c3dab0e013c
172.17.0.7 fe3489945006
[root@fe3489945006 /]# ping 172.17.0.6

将docker镜像封装为文件:docker save -o /mytest.tar c3e8

转载于:https://www.cnblogs.com/mcq1999/p/11469119.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值