weixin_37031040 2021-04-06 08:32 采纳率: 25%
浏览 399

python用beautifulsoup爬取网页内容部分内容缺失

本人python新手,想用beautifulsoup爬取网页内容(比如东方财富网的沪深港通资金流向http://data.eastmoney.com/hsgt/index.html),自己通过浏览器F12能找到关键的每日top10股票,但是用beautifulsoup爬取后,却缺失这一部分内容。请问是什么原因?我试过很多网站都是会缺少我最想要的关健内容,请问怎么破?

def askURL(url):
    head={"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.182 Safari/537.36"}
    request=urllib.request.Request(url,headers=head)
    html=''
    try:
        response=urllib.request.urlopen(request)
        html=response.read().decode('utf-8')
    except urllib.error.URLError as e:
        if hasattr(e,"code"):
            print(e.code)
        if hasattr(e,"reason"):
            print(e.reason)
    return html


def getData(baseurl)
    for i in range(1,2):
        url=baseurl+str(i)
        html=askURL(url)
        # print(html)
        # break
        soup =BeautifulSoup(html,"html.parser")
        for item in soup.find_all('div',class_="item"):
            data=[]
            item=str(item)
            link = re.findall(findLink, item)[0]
            data.append(link)
            number=re.findall(findNumber,item)[0]
            data.append(number)
            date=re.findall(findNumber,item)[1]
            data.append(date)
            pic=re.findall(findPic,item)[0]
            data.append(pic)
            datalist.append(data)
    return datalist
  • 写回答

1条回答 默认 最新

  • 多鱼的夏天 2021-04-07 15:25
    关注

    有些信息不直接在网页源代码中,也可能通过异步请求获取内容,然后使用js添加到网页中。

    你可以通过chrome开发者工具,在network tab的xhr中发现这些请求。

     

    再高阶些,有些站点在页面源代码和异步请求中是加密内容,需要分析js发现解密函数,然后进行解密才能获取到内容。

    评论

报告相同问题?

悬赏问题

  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 stm32开发clion时遇到的编译问题
  • ¥15 lna设计 源简并电感型共源放大器
  • ¥15 如何用Labview在myRIO上做LCD显示?(语言-开发语言)