Ⅰ需要准备两个库 requests以及lxml 里的 etree

上代码:

​import requests​

​from lxml import etree​

Ⅱ确定 URL 和请求头

url 就是我们想要爬取的网站的链接,而请求头是从网站上的源代码处复制过来的

上代码:

​url='https://www.XXX.com/'​

​headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.77 Safari/537.36', 'Referer': 'https://www.XXX.com/'}​

Ⅲ编写获取数据的函数

首先定义一个函数,实现获取数据的功能,我们将其命名为:get_data()。将设置好的 headers 传入,为了防止反爬。encoding 对应的是编码方式,为了防止获取到的网页内容乱码。设置 selector 选择器,然后通过 xpath 方法来获取内容对应的 xpath 路径(具体方法:右键点击网页任意空白处,选择检查。然后在弹出的窗口中,点击左上角的箭头符号,将箭头移动到你想要获取的数据位置,点击定位一下,然后再回到网页源代码处,点击右键,选择 copy,再选择 copy xpath,然后再将复制好的路径粘贴到我们编写的代码中)。因为想获取的是标题对应的文本内容,所以我们需要在复制到的 xpath 路径后加上:/text ()

上代码:

​def get_data(url):​

​ response = requests.get(url, headers=headers)​

​response.encoding = 'utf-8'​

​ selector = etree.HTML(response.text)​

​content = selector.xpath('//*[@id="newpcnews-1"]/div/div[2]/a[1]/div/text()') ​

​ print(content)​

Ⅳ调用函数

上代码:

​get_data(url)​

___________________________________________

关注我,我会分享更多有趣技术与知识