前言
很多人在WIN10下装了python3.6后,用pip install lxml安装这个模块,你会发现出错,根本安装不上,从而在应用BeautifulSoup这个模块受到很大的限制,写爬虫受阻,我今天来教大家一下吧,配置一下PyCharm,再写个示例,来抓它几个G的美女图。
一、安装python
我下载的地址是:https://www.python.org/ftp/python/3.6.3/python-3.6.3-amd64.exe
版本为为3.6.3的64位!
二、安装PyCharm、注册、汉化
下载网址是:https://www.jetbrains.com/zh/pycharm/specials/pycharm/pycharm.html
这儿可以下个专业版,默认安装就行了!
用下图的方式注册即可,注意图中写的网址。网址如果不生效了,请自己网上查找资料吧!这个也很简单!
你再在网上搜索PyCharm汉化包,搜索不到的可以留言问我。把下载到的 resources_cn.jar 放在 C:Program FilesJetBrainsPyCharm 2017.2.4lib 这个目录。
现在你再打开PyCharm,应当已经汉化并注册完毕了。
三、安装 lxml模块
打开pycharm,点击文件,再点击设置。
点击settings之后,再点击project下面的project Interpreter,接下来点击上面界面右上角的“+”:
然后在搜索框中搜索需要安装的第三方库(此处搜索lxml)然后点击界面左下角的Install Package进行安装即可(图1、2)。要注意图1中我选择的是3.6这个python,如果你机器里装有多个python版本,要注意选择。
四、复制代码,开始抓美女图
代码我已经写好了,你copy后,最好把 img.py它放在一个目录下再运行;
#encoding=utf-8
import requests
import imp
#import lxml
from bs4 import BeautifulSoup
import os
import re
import sys
imp.reload(sys)
#sys.setdefaultencoding('utf8')
def url_open(url):
headers = {
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36','Referer':'http://www.mzitu.com/all/'
}
html = requests.get(url, headers=headers)
return html
def find_list(url):
title_list = []
url_list = []
html = url_open(url).content.decode('utf-8')
soup = BeautifulSoup(html, 'lxml')
all_a = soup.find('div',class_='all').find_all('a')
for a in all_a:
title_list.append(a.get_text())
url_list.append(a['href'])
return title_list, url_list
def get_pages(url):
html = url_open(url).content.decode('utf-8')
soup = BeautifulSoup(html, 'lxml')
pages = soup.find('div', class_='pagenavi').select('a > span')[-2].get_text()
#print(pages)
return pages
def find_img(url):
count = 0
all_list = find_list(url)
url_list = all_list[1]
title_list = all_list[0]
print('------------------------start-----------------------')
for num in range(len(url_list)):
try:
os.mkdir(title_list[num])
os.chdir(title_list[num])
pages = int(get_pages(url_list[num]))
page_num = pages
print('now:{0} has:{1} all:{2}'.format(title_list[num], pages, count))
for i in range(pages):
try:
page_num -= i
page_url = url_list[num] + '/' + str(page_num)
html = url_open(page_url).text
soup = BeautifulSoup(html, 'lxml')
img_url = soup.find('div', class_='main-image').find_all('img')[0]['src']
save_img(img_url)
count += 1
page_num = pages
except:
print('------------------------save-error------------------------')
os.chdir('..')
print('------------------------done------------------------')
except:
print('-----------------------enter-error-----------------------')
def save_img(url):
filename = url.split('/')[-1]
with open(filename,'wb') as f:
img = url_open(url).content
f.write(img)
def main():
url = 'http://www.mzitu.com/all/'
find_img(url)
if __name__ == '__main__':
main()
我是把img.py放在D盘的;
运行一下看看,命令行下在当前目录执行:
python img.py
一会功夫抓了好多图,并按目录和时间给你分类保存好了。
1.支付成功后不要关闭二维码,等待系统确认后自动关闭,支付按钮 变为 下载按钮。
2.游客购买请使用 Chrome 、Edge 或 FireFox浏览器 ,以免支付刷新失败(浏览器缓存7天有效)。
3.如支付成功后刷新无法显示下载按钮、链接失效等问题请联系客服处理或参考下载说明文档 。
免责声明:
1.本站资源售价仅为赞助网站,收费仅用于网站维护运营更新,感谢您的支持。
2.本站所发布资源仅限用于学习和研究测试使用,不得用于商业或非法用途。
3.如果购买下载测试后满意,请前往购买支持正版,得到更好的正版服务。
4.本站仅保证资源的正常下载和测试使用,售后不包含相关技术咨询服务,请知悉谅解。
5.本站所发布资源为非实物商品,不接受退款,请考虑好再购买。
Soku云宝库 » [Python入门]Win系统下的PyCharm汉化+环境配置Python3.6模块基础教程