ZHANG H.
2021-03-29 11:19
采纳率: 100%
浏览 329

python的requests爬虫返回了与原网页内容不符的javascript,如何解决?

我的课程作业需要爬取这个网址(http://guba.hzzkzx.com/list,002603,f_1.html)的数据,但是这个网站可能是有反爬虫机制,返回的不是原网页的内容,而是一个html,里面是带有这个网址的javascript。请问这个网站的反爬虫机制是怎样的?如何绕过?

程序源代码:

import requests
from bs4 import BeautifulSoup

headers={
    'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3',
    'Accept-Encoding': 'gzip, deflate',
    'Accept-Language': 'zh-CN,zh;q=0.9',
    'Connection': 'keep-alive',
    'Cookie': '__guid=84635791.2115898957883613700.1616987444460.9778; monitor_count=1',
    'DNT': '1',
    'Host': 'guba.hzzkzx.com',
    'Referer': 'http://guba.hzzkzx.com/list,002603,f_1.html',
    'Upgrade-Insecure-Requests': '1',
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36'
}

def get_data(url):
    html=requests.get(url,headers=headers)
    soup=BeautifulSoup(html.text,'lxml')
    print(soup.prettify())

if __name__=='__main__':
    url="http://guba.hzzkzx.com/list,002603,f_1.html"
    get_data(url)

运行结果:

<html>
 <head>
  <script type="text/javascript">
   function f(){window.location.href="http://guba.hzzkzx.com/list,002603,f_1.html";}
  </script>
 </head>
 <body onload="f()">
  <img src="http://tieba.baidu.com/_PXCK_77735440797141500_1558696096.gif" style="display:none"/>
 </body>
</html>
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • 已采纳

    异步加载的问题, 可以使用selenium 工具包进行爬取, 可参考:

    import pandas as pd
    import numpy as np
    import time
    from selenium import webdriver
    driver = webdriver.Chrome()
    
    url = 'http://guba.hzzkzx.com/list,002603,f_1.html'
    driver.get(url)
    driver.implicitly_wait(10)
    
    # 标题
    names =  driver.find_elements_by_css_selector('#articlelistnew > div > span.l3.a3')
    for i in names:
        print(i.text)
    标题
    求你跌停,大家都亏欠就完事
    已经给你们上车的机会了!
    刚才难道是诱多吗
    无量上涨后期看跌
    无量杀
    庄控制的真高,收盘又是开盘价
    以岭药业漫长的心电图模式,将持续下跌,合理价15元
    久横必跌,机会来了
    走势也就这样了,草图。
    破不了60日线的压力位!!!
    可怜可悲可叹可恨,浪费行情,累!
    大盘红火,以岭拉稀,赶紧出台年报大分红吧,这么好基

    需要先安装浏览器驱动等一些设置, 可搜索一些相关的帖子.

    点赞 打赏 评论
  • liqiang94 2021-03-29 11:35

    这个应该没有反爬吧,我只用了user-agent就可以得到正常响应

     

    点赞 打赏 评论
  • liqiang94 2021-03-30 09:58

    额,我用你那代码也正常的,我这边目前没法重现问题

     

    点赞 打赏 评论

相关推荐 更多相似问题