首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python请求模块在get请求期间不返回完整页面

Python请求模块在get请求期间不返回完整页面
EN

Stack Overflow用户
提问于 2018-01-30 03:47:05
回答 3查看 22.2K关注 0票数 9

当我使用浏览器向这个url:http://www.waterwaysguide.org.au/waterwaysguide/access-point/4980/partial发出get请求时,会返回一个完整的html页面。但是,当我使用python请求模块发出GET请求时,只返回html的一部分,缺少核心内容。

如何更改代码以获取丢失的数据?

这是我正在使用的代码;

代码语言:javascript
复制
import requests
def get_data(point_num):
    base_url = 'http://www.waterwaysguide.org.au/waterwaysguide/access-point/{}/partial'
    r = requests.get(base_url)
    html_content = r.text
    print(html_content)
get_data(4980)

运行代码的结果如下所示。div class=“视图-水路-访问点页.”中的内容缺失。

代码语言:javascript
复制
<div>
  <div class="modal-header">
    <button type="button" class="close" data-dismiss="modal" aria-label="Close">
      <span aria-hidden="true">&times;</span>
    </button>
    <h4 class="modal-title">
        Point of Interest detail    </h4>

  </div>
  <div class="modal-body">
    <div class="view view-waterway-access-point-page view-id-waterway_access_point_page view-display-id-page view-dom-id-c855bf9afdfe945979f96b2301d55784">
        
  
  
  
  
  
  
  
  
</div>  </div>
  <div class="modal-footer">
    
    <button type="button" id="closeRemoteModal" class="btn btn-action" data-dismiss="modal">Close</button>
  </div>
</div>

EN

回答 3

Stack Overflow用户

发布于 2018-01-30 06:19:55

下面的方法显示div class=“视图-水路-访问点”页面中缺少的内容.

代码语言:javascript
复制
>>> from urllib.request import Request, urlopen
>>> from bs4 import BeautifulSoup
>>> url = 'http://www.waterwaysguide.org.au/waterwaysguide/access-
point/4980/partial'
>>> req = Request(url,headers={'User-Agent': 'Mozilla/5.0'})
>>> webpage = urlopen(req).read()
>>> print(webpage)
票数 4
EN

Stack Overflow用户

发布于 2018-01-30 04:11:05

我发现了我犯的错误。我从未使用传递给函数的'point_num‘参数,因此我的请求没有到正确的url。

既然我已经将行更改为

代码语言:javascript
复制
r = requests.get(base_url.format(point_num))
票数 2
EN

Stack Overflow用户

发布于 2018-01-30 04:01:12

在加载页面之后,可能会使用javascript呈现这些元素。因此,您只得到页面,而不是javascript呈现的部分。

你也许想调查一下

https://medium.com/@hoppy/how-to-test-or-scrape-javascript-rendered-websites-with-python-selenium-a-beginner-step-by-c137892216aa

Web-scraping JavaScript page with Python

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48513576

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档