L'accès au PC est devenu un problème d'adresse mobile#python#scrapy
淡淡烟草味
淡淡烟草味 2017-06-30 09:55:13
0
2
1069

Utilisez Scrapy pour explorer Himalaya et explorer l'adresse du PC. La réponse du lien d'entrée est correcte, mais la réponse suivante voit l'adresse du mobile. . . .

Le code araignée est le suivant :

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)
        ......以下省略

Sortie console :

Un middlewares.RotateUserAgentMiddleware a été écrit, il est efficace et le contenu de sortie est également visible.

Est-ce que cela déclenche un mécanisme anti-exploration ?

淡淡烟草味
淡淡烟草味

répondre à tous(2)
小葫芦

Cela devrait être dû au fait que vos en-têtes n'ont pas de configuration d'agent utilisateur

学霸

Configurez soigneusement les en-têtes de requête. Déterminer s'il s'agit d'un terminal mobile repose généralement sur un agent utilisateur
Vous pouvez accéder aux données sans rien, ce qui montre également que le site Web cible ne prête pas beaucoup d'attention à l'anti-hotlinking

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal