我想仅从网站上获取一部分的源代码,而不是整个页面,然后解析该部分,因为它比加载整个页面然后解析< / strong>。我尝试将部分链接作为url参数传递,但仍然获得整个页面。
url = 'https://stackoverflow.com/questions/19012495/smooth-scroll-to-div-id-jquery/#answer-19013712'
response = requests.get(url)
print(response.text)
答案 0 :(得分:0)
您无法直接通过请求api获得特定部分,但是您可以为此使用beautifulsoup
。
dataquest website给出了一个小样本:
import requests
from bs4 import BeautifulSoup
soup = BeautifulSoup(page.content, 'html.parser')
page = requests.get("http://dataquestio.github.io/web-scraping-pages/ids_and_classes.html")
page.content
运行以上脚本将输出此html字符串。
<html>
<head>
<title>A simple example page
</title>
</head>
<body>
<div>
<p class="inner-text first-item" id="first">
First paragraph.
</p><p class="inner-text">
Second paragraph.
</p></div>
<p class="outer-text first-item" id="second"><b>
First outer paragraph.
</b></p><p class="outer-text"><b>
Second outer paragraph.
</b>
</p>
</body>
</html>
您可以通过标签类型,类别或ID查找特定部分。
按标签类型:
soup.find_all('p')
按班级:
soup.find_all('p', class_='outer-text')
按ID:
soup.find_all(id="first")
答案 1 :(得分:0)
HTTPS不允许您这样做。
您可以改用Stackoverflow API。您可以传递答案ID19013712。因此只能通过API获得该特定答案。
请注意,您可能仍需要register for an APP key