网络抓取:无法为给定的div,class抓取文本和href

时间:2020-04-20 22:25:30

标签: python web-scraping beautifulsoup

试图获取热门新闻的文本和href,但无法解析。

网站:News site

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')

输出为空

试图将零件刮成红色:

enter image description here

元素看起来像这样:

enter image description here

1 个答案:

答案 0 :(得分:1)

import requests

data = ["heading", "categorySlug", "articleUrl"]



def main(url):
    r = requests.get(url).json()
    for item in r['data']:
        goal = [item[d] for d in data]
        print(goal[0], f"{url[:31]}/news/{'/'.join(goal[1:])}")


main("https://www.gujaratsamachar.com/api/stories/5993f2835b03ab694185ad25?type=top-stories")