Scrapy是适用于Python的一个快速、高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结构化的数据
保存图片的方式应该是一样的吧,例如:import requests,os
from bs4 import BeautifulSoup
pt='C:/Users/Administrator/Desktop/图片/'
p=os.path.exists(pt)
if not p:
os.makedirs(pt)
else:
print('存在,跳过。。。')
pass
t=0
for j in range(5): #有五页,循环5遍把每一页都下下来
a=requests.get('http://www.win4000.com/zt/rili_%s.html'%j) #找出规律,每一页就变最后以恶数字
b=BeautifulSoup(a.text,'lxml') #解析每一页的数据
c=b.find_all('ul',class_='clearfix') #最小父级
d=c[1].find_all('li') #第二个正好是我们找的数据所以用[1]
for i in d: #循环每一个‘li’标签,
t+=1
f=i.find('a')['href'] #提取li标签种a标签里面href的属性
a1=requests.get(f) #继续代入解析网页
b1=BeautifulSoup(a1.text,'lxml')
c1=b1.find('div',class_='pic-meinv')
e1=c1.find('img')['src'] #得到图片链接地址
h=requests.get(e1).content #转成二进制
with open(pt+e1[-10:],'wb')as g: #把创建的目录加图片倒数10位作为名称,已二进制写入
g.write(h) #写入数据
print(e1[-10:],'下载完成')
第二个问题,不清楚有什么区别,一般都是get(),post(),学的不深,不太了解
第三个问题,感觉框架就是成熟的爬虫代码,能用框架爬的,肯定效率高一点吧,request和scrapy不是一种概念类型吧 |