Python作为一种简单易学的编程语言,广受程序员和数据科学家的喜爱。其中,用Python进行网络爬虫的应用也越来越广泛。本文将共享7个经典的Python爬虫案例代码,希望能够给大家带来启发和帮助。
1. 爬取豆瓣电影排行榜数据
在本例中,我们将使用Python的requests库和BeautifulSoup库来爬取豆瓣电影排行榜的数据。我们需要发送HTTP请求获取网页内容,然后使用BeautifulSoup库解析HTML文档,提取出我们需要的电影名称、评分等信息。我们可以将这些数据保存到本地或者进行进一步的分析。
```python
import requests
from bs4 import BeautifulSoup
url = '
response = (url)
soup = , 'html.parser')
for movie in soup.find_all('div', class_='item'):
    title = movie.find('span', class_='title').text
    rating = movie.find('span', class_='rating_num').text
    print(title, rating)
```
2. 爬取博博用户信息
在这个案例中,我们将利用Python的requests库和正则表达式来爬取博博用户的基本信息。我们需要登录博博并获取用户主页的URL,然后发送HTTP请求获取用户主页的HTML文档。我们可以使用正则表达式来提取用户的昵称、性别、位置区域等信息。我们可以将这些信息保存到数据库或者进行其他处理。
```python
import requests
import re
url = '
response = (url)
pattern = repile(r'<title>(.*?)</title>.*?昵称:(.*?)<.*?性别:(.*?)<.*?地区:(.*?)<', re.S)
result = re.search(pattern, )
if result:
python爬虫开发    username = up(2)
    gender = up(3)
    location = up(4)
    print(username, gender, location)
```
3. 爬取新浪新闻
在这个案例中,我们将使用Python的requests库和XPath来爬取新浪新闻的标题和信息。我们需要发送HTTP请求获取新浪新闻首页的HTML文档,然后使用lxml库的XPath定位工具提取出新闻标题和信息。我们可以将这些信息保存到数据库或者生成HTML页面展示出来。
```python
import requests
from lxml import etree
url = '
response = (url)
selector = etree.)
news_titles = selector.xpath('//a[@target="_blank"]/text()')
news_links = selector.xpath('//a[@target="_blank"]/@href')
for i in range(len(news_titles)):
    print(news_titles[i], news_links[i])
```
4. 爬取百度图片
在本例中,我们将利用Python的requests库和正则表达式来爬取百度图片的URL。我们需要发送HTTP请求获取百度图片搜索结果的HTML文档,然后使用正则表达式提取出图片的URL。我们可以根据图片的URL下载图片到本地或者进行其他处理。
```python
import requests
import re
url = '
response = (url)
pattern = repile(r'"objURL":"(.*?)"', re.S)
result = re.findall(pattern, )
for i, img_url in enumerate(result):
    with open(f'python_image_{i}.jpg', 'wb') as f:
        f.(img_url).content)
```
5. 爬取网易云音乐歌单数据
在这个案例中,我们将使用Python的requests库和json库来爬取网易云音乐的歌单数据。我们需要发送HTTP请求获取歌单的JSON数据,然后使用json库解析JSON数据提取出歌曲名称、歌手、专辑等信息。我们可以将这些数据保存到数据库或者进行其他处理。
```python
import requests
import json
url = '
response = (url)
data = json.)
for song in data['result']['tracks']:
    name = song['name']
    artist = song['artists'][0]['name']
    album = song['album']['name']
    print(name, artist, album)
```
6. 爬取天气预报
在这个案例中,我们将使用Python的requests库和正则表达式来爬取天气预报的数据。我们需要发送HTTP请求获取天气预报页面的HTML文档,然后使用正则表达式提取出当天和未来几天的天气情况。我们可以将这些数据保存到数据库或者生成HTML页面展示出来。