overflow_decade 2021-11-27 19:16 采纳率: 60%
浏览 335
已结题

Python爬虫requests.get方法无法显示div中折叠内容

问题遇到的现象和发生背景

如题,我希望获得完整的request返回并爬取某div标签内内容,然而我通过beautifulsoup发现该部分的div内容被省略掉了

img

问题相关代码
import csv
import time
import requests
import urllib.parse
from lxml import etree
import useragent
from bs4 import BeautifulSoup

page_num = 1
for i in range(1,52):

    url = "https://www.xuetangx.com/search?query=&org=&classify=1&type=&status=&page={}".format(page_num)
    headers = {
            'User-Agent' : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.55 Safari/537.36 Edg/96.0.1054.34',
            'method' : 'POST',
    }
    cookieStr = '_ga=GA1.2.1190422675.1612939709; sensorsdata2015jssdkcross={"distinct_id":"17d3d83d4df9bc-0950b2ac5a2dee8-561a1154-1327104-17d3d83d4e0e26","first_id":"","props":{"$latest_traffic_source_type":"直接流量","$latest_search_keyword":"未取到值_直接打开","$latest_referrer":""},"$device_id":"17d3d83d4df9bc-0950b2ac5a2dee8-561a1154-1327104-17d3d83d4e0e26"}; provider=xuetang; _gid=GA1.2.1824666357.1638002159; django_language=zh; JG_016f5b1907c3bc045f8f48de1_PV=1638008153767|1638009299317'
    cookieStr = cookieStr.encode("utf-8").decode("latin-1")
    cookies = {
        'Cookie' : cookieStr
    }
    res = requests.get(url,headers = headers,cookies = cookies).text
    dom = etree.HTML(res)

    for list_num in range(2, 10):
        result = []
        # result.append(dom.xpath('//*[@id="app"]/div/div[2]/div[1]/div[1]/div[2]/div[1]/div[2]/div[2]/p[1]/span[1]/text()'.format(list_num)))
        # result.append(dom.xpath('/html/body/div[1]/div/div[2]/div[1]/div[1]/div[2]/div[1]/div[{}]/div[2]/p[2]/span[1]'.format(list_num)))
        # result.append(dom.xpath('/html/body/div[1]/div/div[2]/div[1]/div[1]/div[2]/div[1]/div[{}]/div[2]/p[2]/span[2]/span'.format(list_num)))
        # result.append(dom.xpath('/html/body/div[1]/div/div[2]/div[1]/div[1]/div[2]/div[1]/div[{}]/div[2]/p[2]/span[3]/text()'.format(list_num)))
        soup = BeautifulSoup(res)
        print(soup.prettify())
        print(soup.select('div'))

        print(result)

我的解答思路和尝试过的方法

尝试过在get方法中添加header和cookie,无果,问题并非在于无法返回而在于返回结果不全。希望这个问题能够被解决。

  • 写回答

2条回答 默认 最新

      报告相同问题?

      相关推荐 更多相似问题

      问题事件

      • 系统已结题 1月12日
      • 已采纳回答 1月4日
      • 创建了问题 11月27日

      悬赏问题

      • ¥15 access数据库出错
      • ¥15 blender python输出纹理坐标(像素级)与三维坐标的对应关系
      • ¥15 python文件分发
      • ¥15 关于#c语言#的问题:要求:输出格式要界面直观、清晰大方、格式规范
      • ¥15 计算机组成汇编语言电路升级
      • ¥15 hadoop网站点击流数据分析项目
      • ¥15 TDA4 USB 识别不到的问题
      • ¥36 禁用ssl重协商以达到解决DOS漏洞
      • ¥20 cad 编写网表完成以下问题
      • ¥15 materials studio软件的forcite模块