首页 > 解决方案 > scrapy response.txt 没有 HTML 正文

问题描述

我正在创建一个非常简单的网络爬虫版本,它从 www.instagram.com 页面的底部导航栏中推断和计算一些简单的 <li> 标签

以下代码适用于除 instagram 以外的任何其他网站:

import scrapy

class InstaSpider(scrapy.Spider):
    name = "insta_spider"
    start_urls = ["https://www.instagram.com/"]
    count = 1


def parse(self, response):
    SET_SELECTOR = ".K5OFK"
    for tag in response.css(SET_SELECTOR):
        self.count += 1
    print("My count is " + str(self.count))

爬虫产生以下代码:

INFO: Crawled 0 pages (at 0 pages/min), scraped 0 items (at 0 items/min)
DEBUG: Crawled (200) <GET https://www.instagram.com/> (referer: None)
My count is 1

所以页面被抓取,但由于某种原因它不会找到那个特定的类(或 instagram 页面上的任何其他类),所以它会产生 1 的计数,而不是 10 的计数(有 10 个 lis )

有趣的是,当我添加

print(response.text)

我只会看到页面源头中的内容,而看不到正文!正文中没有 HTML,好像 instagram 在屏蔽它。任何想法?

标签: pythonhtmlpython-3.xscrapyweb-crawler

解决方案


推荐阅读