Python 网页抓取:无法抓取给定div、class的文本和href

Python 网页抓取:无法抓取给定div、class的文本和href,python,web-scraping,beautifulsoup,Python,Web Scraping,Beautifulsoup,试图获取热门新闻的文本和href,但无法对其进行解析 网站: 输出为空 试图将零件刮成红色: 元素如下所示: 导入请求 数据=[“标题”、“类别列表”、“文章URL”] def主(url): r=requests.get(url).json() 对于r['data']中的项: 目标=[数据中d的项目[d] 打印(目标[0],f“{url[:31]}/news/{'/'.join(目标[1:])}”) 主要(”https://www.gujaratsamachar.com/api/stories

试图获取热门新闻的文本和href,但无法对其进行解析

网站:

输出为空

试图将零件刮成红色:

元素如下所示:

导入请求
数据=[“标题”、“类别列表”、“文章URL”]
def主(url):
r=requests.get(url).json()
对于r['data']中的项:
目标=[数据中d的项目[d]
打印(目标[0],f“{url[:31]}/news/{'/'.join(目标[1:])}”)
主要(”https://www.gujaratsamachar.com/api/stories/5993f2835b03ab694185ad25?type=top-故事)

使用JavaScript将内容动态加载到页面。您可以更深入地挖掘网站的网络流量,找到适合您需要的请求(+希望您不会被禁止),也可以使用浏览器自动化工具(如Selenium)获取整个页面。是的,但元素保持不变。添加了一个显示元素的屏幕截图。当您在chrome中“inspect_元素”时,它会像您单击它时一样加载页面源(动态内容加载后)。尝试使用
查看源代码:https://www.gujaratsamachar.com/
在动态加载内容之前,在chrome中查看HTML文件包含的内容-这就是您在http响应中得到的内容。@parikhparth23欢迎您,如果答案旁边的复选标记对您有帮助,请随时接受答案。αԋ625;ҽαєιcαη,此代码仅适用于那些大图像,而不适用于其下方的2列和7行。
import requests
from bs4 import BeautifulSoup


def checkResponse(url):
    response = requests.get(url)
    if response.status_code == 200:
        return response.content
    else:
        return None


def getTitleURL():
    url = 'https://www.gujaratsamachar.com/'
    response = checkResponse(url)
    if response is not None:
        html = BeautifulSoup(response, 'html.parser')

    for values in html.find_all('div', class_='main-news'):
        print(values.a.href)


if __name__ == '__main__':
    print('Getting the list of names....')
    names = getTitleURL()
    print('... done.\n')