黑盒子 发表于 2020-8-29 22:38:58

python中的scrapy问题

本帖最后由 黑盒子 于 2020-8-29 22:40 编辑

如何用scrapy爬图片呀,我爬到了图片地址,但是不知道用scrapy怎么把图片保存到文件夹中,求教(最好能有个代码例子{:10_257:} )

还有一个,就是再用request爬取的时候,添加头文件是用add_header()好,还是用get()方法好,看网上都的教程基本上用后者,小甲鱼课上例子用的又是前者...{:10_277:}

最后的最后,就是爬虫用request和scrapy哪个方便些,我用request爬有的会报302,scrapy爬就没事...,求解答

疾风怪盗 发表于 2020-8-29 23:12:25

Scrapy是适用于Python的一个快速、高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结构化的数据

保存图片的方式应该是一样的吧,例如:import requests,os
frombs4 importBeautifulSoup
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.find_all('li')                   #第二个正好是我们找的数据所以用
    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不是一种概念类型吧
页: [1]
查看完整版本: python中的scrapy问题