用python面向对象写个爬虫示例
时间: 2023-06-17 08:06:12 浏览: 112
python 爬虫实例
好的,以下是一个用 Python 面向对象编写的简单爬虫示例:
```python
import requests
from bs4 import BeautifulSoup
class Spider:
def __init__(self, url):
self.url = url
self.headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'}
self.html = ''
def get_html(self):
try:
response = requests.get(self.url, headers=self.headers)
response.raise_for_status()
self.html = response.text
except Exception as e:
print(e)
def parse_html(self):
soup = BeautifulSoup(self.html, 'html.parser')
links = []
for link in soup.find_all('a'):
links.append(link.get('href'))
return links
if __name__ == '__main__':
url = 'https://www.baidu.com'
spider = Spider(url)
spider.get_html()
links = spider.parse_html()
for link in links:
print(link)
```
以上代码实现了一个爬虫类 Spider,其中包含了获取网页 HTML 内容和解析 HTML 内容的方法。在初始化时,需要传入要爬取的 URL。在获取 HTML 内容时,使用 requests 库发起 GET 请求,并添加了 User-Agent 头以避免被网站屏蔽。在解析 HTML 内容时,使用 BeautifulSoup 库进行解析,并返回所有链接。
在主函数中,创建 Spider 类的实例,调用 get_html 方法获取 HTML 内容,然后调用 parse_html 方法解析 HTML 内容并返回链接。最后,遍历链接并打印出来。
阅读全文