Requests - 使用Requests进行网页抓取



我们已经了解了如何使用python requests库从给定的URL获取数据。我们将尝试使用以下方法从Tutorialspoint网站(位于https://tutorialspoint.com/tutorialslibrary.htm)抓取数据:

  • Requests库
  • python的Beautiful Soup库

我们已经安装了Requests库,现在让我们安装Beautiful Soup包。如果您想探索Beautiful Soup的更多功能,可以在其官方网站https://www.crummy.com/software/BeautifulSoup/bs4/doc/查看。

安装Beautiful Soup

我们将看到如何在下面安装Beautiful Soup:

E:\prequests>pip install beautifulsoup4
Collecting beautifulsoup4
Downloading https://files.pythonhosted.org/packages/3b/c8/a55eb6ea11cd7e5ac4ba
cdf92bac4693b90d3ba79268be16527555e186f0/beautifulsoup4-4.8.1-py3-none-any.whl
(
101kB)
|████████████████████████████████| 102kB 22kB/s
Collecting soupsieve>=1.2 (from beautifulsoup4)
Downloading https://files.pythonhosted.org/packages/81/94/03c0f04471fc245d08d0
a99f7946ac228ca98da4fa75796c507f61e688c2/soupsieve-1.9.5-py2.py3-none-any.whl
Installing collected packages: soupsieve, beautifulsoup4
Successfully installed beautifulsoup4-4.8.1 soupsieve-1.9.5

现在我们已经安装了python requests库和Beautiful Soup。

现在让我们编写代码,从给定的URL抓取数据。

网页抓取

import requests
from bs4 import BeautifulSoup
res = requests.get('https://tutorialspoint.com/tutorialslibrary.htm')
print("The status code is ", res.status_code)
print("\n")
soup_data = BeautifulSoup(res.text, 'html.parser')
print(soup_data.title)
print("\n")
print(soup_data.find_all('h4'))

使用requests库,我们可以获取给定URL的内容,Beautiful Soup库则有助于解析它并按我们想要的方式获取详细信息。

您可以使用Beautiful Soup库,通过HTML标签、类、ID、CSS选择器以及更多方法来获取数据。以下是我们获得的输出,其中我们打印了页面的标题以及页面上的所有h4标签。

输出

E:\prequests>python makeRequest.py
The status code is 200
<title>Free Online Tutorials and Courses</title>
[<h4>Academic</h4>, <h4>Computer Science</h4>, <h4>Digital Marketing</h4>, 
<h4>Monuments</h4>,<h4>Machine Learning</h4>, <h4>Mathematics</h4>, 
<h4>Mobile Development</h4>,<h4>SAP</h4>, 
<h4>Software Quality</h4>, <h4>Big Data & Analytics</h4>, 
<h4>Databases</h4>, <h4>Engineering Tutorials</h4>, 
<h4>Mainframe Development</h4>, 
<h4>Microsoft Technologies</h4>, <h4>Java Technologies</h4>,
<h4>XML Technologies</h4>, <h4>Python Technologies</h4>, <h4>Sports</h4>, 
<h4>Computer Programming</h4>,<h4>DevOps</h4>, <h4>Latest Technologies</h4>, 
<h4>Telecom</h4>, <h4>Exams Syllabus</h4>, 
<h4>UPSC IAS Exams</h4>, 
<h4>Web Development</h4>,
<h4>Scripts</h4>, <h4>Management</h4>,<h4>Soft Skills</h4>, 
<h4>Selected Reading</h4>, <h4>Misc</h4>]
广告