直接在python中使用请求获取部分的src代码

时间:2020-05-23 07:48:19

标签: python python-3.x web-scraping python-requests

我想仅从网站上获取一部分的源代码,而不是整个页面,然后解析该部分,因为它比加载整个页面然后解析< / strong>。我尝试将部分链接作为url参数传递,但仍然获得整个页面。

 url = 'https://stackoverflow.com/questions/19012495/smooth-scroll-to-div-id-jquery/#answer-19013712'
 response = requests.get(url)
 print(response.text) 

2 个答案:

答案 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