无法使用发布请求获取某些项目

问题描述 投票:1回答:1

我在python中编写了一个脚本来获取网站上的课程材料列表。要显示课程材料,有必要填写一些可以找到的inputs如果你从它的着陆页跟踪Find Textbooks链接,因为它在图像一中可见。

但是,当您相应地填写输入时,将显示课程材料(我在第二部分中可以看到它的方式)。

看来,我以正确的方式做了一切但却无法获取物品。当我执行我的脚本时,它不会解析任何内容,也不会抛出任何错误。我在脚本中使用的选择器应该是准确的。

Link to the landing page

到目前为止,这是我的尝试:

import requests
from bs4 import BeautifulSoup

url = "https://uncg.bncollege.com/webapp/wcs/stores/servlet/BNCBTBListView"

payload = {
    'storeId':'19069',
    'catalogId':'10001',
    'langId':'-1',
    'clearAll':'', 
    'viewName':'TBWizardView',
    'secCatList':'', 
    'removeSectionId':'', 
    'mcEnabled':'N',
    'showCampus':False,
    'selectTerm':'Select Term',
    'selectDepartment':'Select Department',
    'selectSection':'Select Section',
    'selectCourse':'Select Course',
    'campus1':'17548065',
    'firstTermName_17548065':'Fall 2018',
    'firstTermId_17548065':'84599238',
    'section_1': '85441456',
    'section_2':'', 
    'section_3':'',
    'section_4':'', 
    'numberOfCourseAlready':'4'
}

with requests.Session() as s:
    s.headers={"User-Agent":"Mozilla/5.0"}
    res = s.post(url,data=payload)
    soup = BeautifulSoup(res.text,"lxml")
    for items in soup.select("#skipNavigationToThisElement a"):
        print(items.text)

任何帮助解决问题的人都将非常感激。

Image One enter image description here

图像二

enter image description here

python python-3.x post web-scraping beautifulsoup
1个回答
0
投票

使用selenium获取动态网站,然后获取该网站的响应文本。

© www.soinside.com 2019 - 2024. All rights reserved.