python简易爬虫编写--图片获取
2018-03-04 15:28
811 查看
项目:抓取淘女郎图片,命名为姓名+城市
知识要点:
1,学会使用selenium的webdriver来模拟浏览器行为
2,熟悉并使用python爬虫的基本开源库
3,掌握正则表达式的基本用法
找到目标网址
https://mm.taobao.com/search_tstar_model.htm? 首先编写一个简单的爬虫脚本用于爬取网页源代码,分析可行性import urllib.request
from bs4 import BeautifulSoup
url="https://mm.taobao.com/search_tstar_model.htm?"
page=urllib.request.urlopen(url)
html=page.read().decode('gbk')
soup=BeautifulSoup(html,"html.parser")
print(soup)发现网页采用ajax技术,我们可以使用webdriver来获取动态网页
最终代码:import urllib.request
import re
from bs4 import BeautifulSoup
import time
import urllib.request
from selenium import webdriver
import os
from lxml import etree
def gethtml(url):
global driver
parser="html5lib"
browserPath='E:/虚拟浏览器/phantomjs-2.1.1-windows/bin/phantomjs.exe'
driver=webdriver.PhantomJS(executable_path=browserPath)
driver.get(url)
time.sleep(2.5)
driver.find_element_by_class_name("page-skip").send_keys(page)
driver.find_element_by_class_name("page-btn").click()
time.sleep(2)
bsOBj=BeautifulSoup(driver.page_source, parser)
return bsOBj
def getjpg(bsOBj):
allpic=[]
jpgurl=re.findall(r'<div class="img"><img data-ks-lazyload="(.*?)" src=".*?"/></div>',str(bsOBj))
jpgurl1=re.findall(r'<div class="img"><img src="(.*?)"/></div>',str(bsOBj))
name=re.findall(r'<span class="name">(.*?)</span>',str(bsOBj))
site=re.findall(r'<span class="city">(.*?)</span>',str(bsOBj))
for i in range(0,len(jpgurl1)):
jpgurl.insert(i+1,jpgurl1[i])
#print(jpgurl)
cmd="taskkill /F /IM Phantomjs.exe"
os.mkdir('E:/taobao/%s/' % page)
os.system(cmd)
for k in range(0,len(jpgurl)):
img='http:'+jpgurl[k]
#print(img)
picname=name[k]+site[k]
urllib.request.urlretrieve(img,'E:/taobao/%s/' % page+'%s.jpg' % picname)
firsturl='https://mm.taobao.com/search_tstar_model.htm?'
for page in range(1,51):
bsOBj=gethtml(firsturl)
getjpg(bsOBj)效果图:
知识要点:
1,学会使用selenium的webdriver来模拟浏览器行为
2,熟悉并使用python爬虫的基本开源库
3,掌握正则表达式的基本用法
找到目标网址
https://mm.taobao.com/search_tstar_model.htm? 首先编写一个简单的爬虫脚本用于爬取网页源代码,分析可行性import urllib.request
from bs4 import BeautifulSoup
url="https://mm.taobao.com/search_tstar_model.htm?"
page=urllib.request.urlopen(url)
html=page.read().decode('gbk')
soup=BeautifulSoup(html,"html.parser")
print(soup)发现网页采用ajax技术,我们可以使用webdriver来获取动态网页
最终代码:import urllib.request
import re
from bs4 import BeautifulSoup
import time
import urllib.request
from selenium import webdriver
import os
from lxml import etree
def gethtml(url):
global driver
parser="html5lib"
browserPath='E:/虚拟浏览器/phantomjs-2.1.1-windows/bin/phantomjs.exe'
driver=webdriver.PhantomJS(executable_path=browserPath)
driver.get(url)
time.sleep(2.5)
driver.find_element_by_class_name("page-skip").send_keys(page)
driver.find_element_by_class_name("page-btn").click()
time.sleep(2)
bsOBj=BeautifulSoup(driver.page_source, parser)
return bsOBj
def getjpg(bsOBj):
allpic=[]
jpgurl=re.findall(r'<div class="img"><img data-ks-lazyload="(.*?)" src=".*?"/></div>',str(bsOBj))
jpgurl1=re.findall(r'<div class="img"><img src="(.*?)"/></div>',str(bsOBj))
name=re.findall(r'<span class="name">(.*?)</span>',str(bsOBj))
site=re.findall(r'<span class="city">(.*?)</span>',str(bsOBj))
for i in range(0,len(jpgurl1)):
jpgurl.insert(i+1,jpgurl1[i])
#print(jpgurl)
cmd="taskkill /F /IM Phantomjs.exe"
os.mkdir('E:/taobao/%s/' % page)
os.system(cmd)
for k in range(0,len(jpgurl)):
img='http:'+jpgurl[k]
#print(img)
picname=name[k]+site[k]
urllib.request.urlretrieve(img,'E:/taobao/%s/' % page+'%s.jpg' % picname)
firsturl='https://mm.taobao.com/search_tstar_model.htm?'
for page in range(1,51):
bsOBj=gethtml(firsturl)
getjpg(bsOBj)效果图:
相关文章推荐
- python简易爬虫编写--图片获取
- 从零开始编写简易python爬虫:每日房价的获取
- Python爬虫_简单获取百度贴吧图片
- Python 简易网络爬虫的编写——抓取任意页面数目百度百科内容
- Python3爬虫入门之贴吧图片批量获取
- python爬虫 分页获取图片并下载
- python 爬虫 获取网页中的图片
- 用python编写第一个简易爬虫(Requests库、BeatifulSoup、正则表达式入门)
- python爬虫获取京东手机图片的图文教程
- Python入门-编写抓取网站图片的爬虫-正则表达式
- Python Requests爬虫——获取一个收藏夹下所有答案的图片
- python爬虫,获取百度贴吧图片
- python 爬虫获取网页图片
- Python爬虫获取知乎图片
- 使用eclipse+python编写爬虫获取python百科的1000条词条
- Python+爬虫技术获取斗鱼直播图片(整理)
- 【简易Python爬虫】 初试爬虫_简易Python图片爬虫实现
- 编写Python爬虫抓取暴走漫画上gif图片的实例分享
- Python实现简单的获取图片爬虫功能示例
- Python爬虫(5)——获取京东手机图片