写一个完整的python爬虫代码
时间: 2023-09-10 20:05:34 浏览: 371
### 回答1:
好的,以下是一个简单的 Python 爬虫代码:
```python
import requests
from bs4 import BeautifulSoup
def get_page(url):
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'}
try:
response = requests.get(url, headers=headers)
if response.status_code == 200:
return response.text
return None
except RequestException:
return None
def parse_page(html):
soup = BeautifulSoup(html, 'lxml')
title = soup.select('title')[0].get_text()
print('页面标题: ', title)
if __name__ == '__main__':
url = 'https://www.example.com'
html = get_page(url)
if html:
parse_page(html)
else:
print('请求页面失败')
```
这个代码使用了 `requests` 库发送请求并获取网页内容,并使用 `BeautifulSoup` 库解析页面,从而获取页面标题。
### 回答2:
下面是一个完整的Python爬虫代码的示例:
```python
import requests
from bs4 import BeautifulSoup
def scrape_website(url):
# 发送HTTP请求
response = requests.get(url)
# 解析HTML内容
soup = BeautifulSoup(response.content, 'html.parser')
# 提取所需数据
data = []
for item in soup.find_all('div', {'class': 'item'}):
title = item.find('h2').text.strip()
author = item.find('span', {'class': 'author'}).text.strip()
date = item.find('span', {'class': 'date'}).text.strip()
data.append({'title': title, 'author': author, 'date': date})
# 返回爬取到的数据
return data
if __name__ == '__main__':
# 要爬取的网页URL
url = 'https://example.com'
# 调用爬虫函数并打印结果
result = scrape_website(url)
for item in result:
print(f"标题: {item['title']}")
print(f"作者: {item['author']}")
print(f"日期: {item['date']}")
print('---')
```
该示例使用了`requests`库来发送HTTP请求,`BeautifulSoup`库来解析HTML内容。它通过指定网页的URL,爬取网页上的特定数据(在这里是网页上所有具有`class`属性为`item`的`div`元素),然后将提取到的数据以字典的形式存储在列表中并返回。最后,它打印出爬取到的数据。你可以根据需要进行修改和适应不同的网页结构和数据提取需求。
### 回答3:
下面是一个简单的Python爬虫代码示例,用于从指定网址获取页面数据:
```python
import requests
def crawl(url):
response = requests.get(url)
if response.status_code == 200:
return response.text
else:
return None
if __name__ == '__main__':
url = "https://www.example.com"
data = crawl(url)
if data:
print("成功获取网页数据!")
else:
print("无法获取网页数据!")
```
以上代码使用`requests`库发送HTTP GET请求来获取网页数据。`crawl`函数接受一个URL作为参数,使用`requests.get`方法获取网页的响应对象,判断响应状态码是否为200(表示请求成功)。如果成功,返回网页的文本内容;否则返回`None`。
在`if __name__ == '__main__'`语句块中,我们定义一个URL(可以替换为你要爬取的网址),然后调用`crawl`函数获取网页数据。根据返回值是否为`None`,打印相应的消息。
当然,这只是一个简单的示例,实际的爬虫代码通常会更加复杂,包括处理网页解析、数据提取、存储等。此外,还需要考虑到网站的反爬措施,如设置请求头、处理验证码等。完整的爬虫代码会根据具体的需求和网站的特性进行设计和调整。
阅读全文