【发布时间】:2021-06-28 16:55:16
【问题描述】:
我有一个在 http://service.localhost:8021 运行的本地站点,我正在尝试从该站点上抓取图像链接 (src attr)。当我抓取它时,它似乎确实可以访问它(当我得到 200 响应时);但没有返回链接。
我的脚本是:
# -*- coding: utf-8 -*-
import scrapy
from scrapy.spiders import CrawlSpider, Rule
from bs4 import BeautifulSoup
import urllib
class crawlImages(CrawlSpider):
name = 'crawlImages'
allowed_domains = ["service.localhost"]
start_urls = ['http://service.localhost:8021']
def parse(self, response):
titles = response.css('img::attr(alt)').extract()
links = response.css('img::attr(src)').extract()
print('##########')
for item in zip(titles, links):
all_items = {
'title' : BeautifulSoup(item[0]).text,
'link' : item[1]
}
print(item[1])
yield all_items
我这样运行它:
scrapy runspider crawlImages.py -s USER_AGENT="Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.131 Safari/537.36" -s ROBOTSTXT_OBEY=False
我得到的回复:已删除,因为不允许在此处发布。
有什么提示吗?
【问题讨论】:
-
您的回复是否包含所有这些图片的链接?
-
呃,不,那太傻了,不是吗。结果中没有列出任何链接。