python3 爬 妹子图

Beautiful Soup 是一个可以从HTML或XML文件中提取数据的Python库.它能够通过你喜欢的转换器实现惯用的文档导航,查找,修改文档的方式

Beautiful Soup 4 通过PyPi发布,所以如果你无法使用系统包管理安装,那么也可以通过 easy_install 或 pip 来安装.包的名字是 beautifulsoup4 ,这个包兼容Python2和Python3

easy_install beautifulsoup4

pip install beautifulsoup4

(在PyPi中还有一个名字是 BeautifulSoup 的包,但那可能不是你想要的,那是 Beautiful Soup3 的发布版本,因为很多项目还在使用BS3, 所以 BeautifulSoup 包依然有效.但是如果你在编写新项目,那么你应该安装的 beautifulsoup4 )

如果你没有安装 easy_install 或 pip ,那你也可以 下载BS4的源码 ,然后通过setup.py来安装.

Python setup.py install

如果上述安装方法都行不通,Beautiful Soup的发布协议允许你将BS4的代码打包在你的项目中,这样无须安装即可使用.

作者在Python2.7和Python3.2的版本下开发Beautiful Soup, 理论上Beautiful Soup应该在所有当前的Python版本中正常工作

安装解析器

  pip install lxml

使用方法:

  from bs4 import BeautifulSoup

 

  

 爬取妹子图代码:

  

#-*- coding:utf-8 -*-
import requests,urllib
from bs4 import BeautifulSoup
headers = {
    'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.110 Safari/537.36'
}
savepath = './img'
for page in range(1,9):
    #print(page)
    url = 'http://www.meizitu.com/a/xinggan_2_'+str(page)+'.html'

    data = requests.get(url,headers=headers)

    soup = BeautifulSoup(data.text,'lxml')

    contents = soup.select('#pagecontent > #maincontent > div.inWrap > ul.wp-list > li.wp-item > div.con > div.pic > a > img')

    for index,item in enumerate(contents):
        
        imgurl = item.get('src')

        r = requests.get(imgurl,headers=headers)
        with open(savepath+'/'+(str(imgurl)[-20:]).replace('/','-'),'wb') as f:
            f.write(r.content)

 

posted @ 2017-05-26 15:52  shijiu520  阅读(271)  评论(0编辑  收藏  举报