PC端访问却变成移动端地址问题#python#scrapy
淡淡烟草味
淡淡烟草味 2017-06-30 09:55:13
0
2
1056

用scrapy 爬取喜马拉雅,爬取PC端地址,入口链接的response没问题,但后面response看到的是移动端地址。。。。

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端访问会变成移动地址问题!!!!!!!!!!!!!!!!!
    def parse_details(self, response):
        item = XimalayaItem()
        print(response)
        ......以下省略

控制台输出:

已经写了一个 middlewares.RotateUserAgentMiddleware,是生效的,输出内容也可以看出来。

是不是触发什么反爬机制?

淡淡烟草味
淡淡烟草味

全部回复(2)
小葫芦

应该是你的headers没有设置user-agent的原因

学霸

request headers 好好配置一下, 判断是不是移动端一般是靠user-agent
啥都没有也能访问到数据,也说明目标网站没怎么在意防盗链

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!