main文件代码:
import yaml
import json
import base64
import requests
import random
from scrapy import Spider
from ..items import FirstItem
class MainSpider(Spider):
name = "main"
start_urls = ["https://yftx-test.xailife.com/login?redirect=%2Findex"]
def parse(self, response):
name = response.xpath('//div[@class="charts-left-right"]/div')
name_a = response.xpath('//section[@class="app-main"]/div/div[2]/div[2]/div[2]/div/div[3]/div/div/div/div[2]/div')
url = 'https://yftx-test.xailife.com'
# for xe in name:
# imgbase = xe.xpath('./div/img/@src')
# img = imgbase.extract()
# for img_a in img:
# random_string = random.randint(1, 1000)
# base64_split = str(img_a).split(',',1)
# base64_str = base64_split[1]
# base64_decode = base64.b64decode(base64_str)
# with open(rf"D:\python\first\first\img\img{random_string}.png","wb") as f:
# f.write(base64_decode)
for tubiao in name_a:
items = FirstItem()
random_stringa = random.randint(1, 1000)
tubiao_a = tubiao.xpath('./div/img/@src')
tubiao_b = tubiao_a.extract()
print('获取的图片路径:',tubiao_b)
for tubiao_c in tubiao_b:
url_jion = url + tubiao_c
response = requests.get(url_jion).content
items['tubiao'] = response
items['random_a'] = random_stringa
print('次数:')
return items
pipelin文件代码:
from itemadapter import ItemAdapter
class FirstPipeline(scrapy.Item):
def process_item(self, item, spider):
print(item)
adaoter = ItemAdapter(item)
t = adaoter.get('tubiao')
y = adaoter.get('random_a')
print("随机数:", y)
with open(rf"D:\python\first\first\img\img{y}.png", "wb") as f:
f.write(t)
为什么这么写,无法获取到图片?