Verwenden Sie Scrapy, um Himalaya zu crawlen und die PC-Adresse zu crawlen. Die Antwort des Eintragslinks ist in Ordnung, aber die nachfolgende Antwort sieht die mobile Adresse. . . .
Der Spider-Code lautet wie folgt:
class SpxmlySpider(scrapy.Spider): name = 'ximalaya' allowed_domains = ["ximalaya.com"] # 保存每页链接 start_urls = ['http://www.ximalaya.com/dq/all/{}'.format(num) for num in range(2, 3)] #先改为第二页试试 def parse(self, response): # 取出专辑链接 print(response) mainurls = response.xpath('//p[@class="albumfaceOutter"]/a/@href').extract() # for url in mainurls: # yield Request(url = url, callback=self.parse_details) print(mainurls[0]) yield Request(url = mainurls[0], dont_filter=True, callback = self.parse_details) # TODO 为什么PC端访问会变成移动地址问题!!!!!!!!!!!!!!!!! def parse_details(self, response): item = XimalayaItem() print(response) ......以下省略
Konsolenausgabe:
Eine middlewares.RotateUserAgentMiddleware wurde geschrieben, sie ist effektiv und der Ausgabeinhalt ist ebenfalls sichtbar.
Löst es einen Anti-Crawling-Mechanismus aus?
应该是你的headers没有设置user-agent的原因
request headers 好好配置一下, 判断是不是移动端一般是靠user-agent
啥都没有也能访问到数据,也说明目标网站没怎么在意防盗链