BeautifulSoup基礎(chǔ)實(shí)戰(zhàn)
安裝: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) #獲取標(biāo)簽title,bs對(duì)象.標(biāo)簽名
print(bs1.title.string) #獲取標(biāo)簽title的文字
print(bs1.title.name) #獲取標(biāo)簽名,如title
print(bs1.a.attrs) #獲取屬性列表 鍵值對(duì)
print(bs1.a['name']) #獲取某個(gè)屬性對(duì)應(yīng)的值
print(bs1.find_all('a')) #提取所有某個(gè)節(jié)點(diǎn)的內(nèi)容,傳參是標(biāo)簽名
print('---------------------------------')
print(bs1.find_all(['a','ul']))
k1=bs1.ul.contents #提取當(dāng)前節(jié)點(diǎn)的所有子節(jié)點(diǎn),返回一個(gè)列表
k2=bs1.ul.children #返回一個(gè)生成器
allulc=[i for i in k2]
PhantomJS基礎(chǔ)實(shí)戰(zhàn)
效率不高,但可以解決很多反爬問(wèn)題,本質(zhì)是一個(gè)無(wú)界面的瀏覽器,通過(guò)命令行(或python)操縱。通常難點(diǎn)部分通過(guò)PhantomJS寫(xiě),然后將數(shù)據(jù)交給urllib或scrapy進(jìn)行后續(xù)處理。
目前已PhantomJS和selenium分手,以后再學(xué)。
分布式爬蟲(chóng)之docker基礎(chǔ)
鏡像:不可以改變內(nèi)容
容器:可以改變內(nèi)容,相當(dāng)于虛擬機(jī),默認(rèn)情況下彼此封閉
優(yōu)點(diǎn):輕部署、省成本、部署遷移方便
安裝:yum -y install docker
啟動(dòng)和關(guān)閉:
systemctl start docker
systemctl stop docker
啟動(dòng)時(shí)如果出現(xiàn)
可以參考下面這篇博客,我的就這樣成功了,其他的方法都沒(méi)用
https://blog.csdn.net/w1316022737/article/details/83692701
最好再修改一下docker的鏡像源,不然運(yùn)行的很慢:
https://blog.csdn.net/julien71/article/details/79760919
查看已有鏡像:docker images
下載鏡像:docker pull
創(chuàng)建容器:docker run -tid
查看容器:docker ps -a
進(jìn)入容器:docker attach
退出容器:一般不用exit,因?yàn)闀?huì)停止容器。我們用ctrl+p+q即可。
在容器里的操作不會(huì)影響本機(jī),相當(dāng)于在虛擬機(jī)里再開(kāi)了個(gè)虛擬機(jī)
啟動(dòng)容器:docker start …
封裝容器成鏡像:docker commit 2d6 mytest:v1
基于鏡像給容器起名字: docker run -tid --name testabc a2a (基于a2a這個(gè)鏡像創(chuàng)建一個(gè)名為testabs的容器)
docker run -tid --name h1 mytest:v1
docker run -tid --name h2 --link h1 mytest:v1 (將容器h2鏈接到h1,即讓h2和h1通信)
這里我用ubuntu的鏡像發(fā)現(xiàn)ping、yum等等命令都沒(méi)有,所以改用了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
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
