PC端訪問卻變成移動(dòng)端地址問題#python#scrapy
問題描述
用scrapy 爬取喜馬拉雅,爬取PC端地址,入口鏈接的response沒問題,但后面response看到的是移動(dòng)端地址。。。。
spider 代碼如下:
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端訪問會(huì)變成移動(dòng)地址問題!!!!!!!!!!!!!!!!! def parse_details(self, response):item = XimalayaItem()print(response)......以下省略
控制臺(tái)輸出:

已經(jīng)寫了一個(gè) middlewares.RotateUserAgentMiddleware,是生效的,輸出內(nèi)容也可以看出來。
是不是觸發(fā)什么反爬機(jī)制?
問題解答
回答1:應(yīng)該是你的headers沒有設(shè)置user-agent的原因
回答2:request headers 好好配置一下, 判斷是不是移動(dòng)端一般是靠user-agent啥都沒有也能訪問到數(shù)據(jù),也說明目標(biāo)網(wǎng)站沒怎么在意防盜鏈
相關(guān)文章:
1. boot2docker無法啟動(dòng)2. docker-compose中volumes的問題3. 關(guān)docker hub上有些鏡像的tag被標(biāo)記““This image has vulnerabilities””4. nignx - docker內(nèi)nginx 80端口被占用5. docker容器呢SSH為什么連不通呢?6. 關(guān)于docker下的nginx壓力測試7. docker安裝后出現(xiàn)Cannot connect to the Docker daemon.8. node.js - antdesign怎么集合react-redux對input控件進(jìn)行初始化賦值9. java - SSH框架中寫分頁時(shí)service層中不能注入分頁類10. dockerfile - 為什么docker容器啟動(dòng)不了?

網(wǎng)公網(wǎng)安備