python爬取网易国内新闻无输出

import bs4
import requests
from bs4 import BeautifulSoup
def getHtmlText(url):
try:
r=requests.get(url)
r.raise_for_status()
r.encoding=r.apparent_enconding
return r.text
except:
return""
def getheadersList(slist,url):
html=getHtmlText(url)
soup=BeautifulSoup(html,"html.parser")
ul=soup.find_all('ul',attrs={"class":"idx_cm_list idx_cm_list_h"})
for a in ul:
title=ul.find_all('a')
slist.append(title.get('href'))

    for i in range(len(slist)):
        surl=slist[i]
        nhtml=getHtmlText(surl)
        soup=BeautifulSoup(nhtml,"html.parser")
        nheader=soup.find_all('div',attrs={"class":"post_content_main"})
        content=soup.find_all('div',attrs={"class":"post_text"})
        print(nheader.find_all('h1').string)
        print(content.get_text())
        print('-------------------------分割线-----------------------')

def main():
url="http://news.163.com/domestic/"
slist=[]
main()

2个回答

估计是被拦截了把,你试试百度新闻的

估计是ajax异步方式加载的内容,你直接请求没有得到数据,你需要分析,找到真正请求数据的URL。然后获取

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐