爬虫初级一

本文介绍使用Python和requests库实现的基本爬虫技术,包括获取网页内容、模拟百度搜索、查询IP地址及图片下载等五个实例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本部分参考:MOOC课程:嵩天

主要内容:爬虫获取html格式的简单方法

1.爬虫的基础

2.爬虫的最简单框架

import requests

try:

    r = requests.get("https://baidu.com")

    r.encoding = r.apparent_encoding
    print(r.text)
except:

    print("爬取失败")

但是,我们知道,有些网站是会查看你的user agent,如果你不是浏览器,就会阻止你访问。

解决方法:

import requests
url = "某网址"
try:
    kv = {"user-Agent":'Mozilla/5.0'}
    r = requests.get(url,headers=kv)
    r.raise_for_status()
    r.encoding = r.apparent_encoding
    print(r.text[1000:2000])
except:
    print("爬取失败")

3.爬虫的五个简单实例

1.模拟百度搜索
# 百度搜索
import requests
keyword = input('输入搜索关键字:')
try:
    kv = {'wd':keyword}
    r = requests.get("http://www.baidu.com/s",params=kv)
    print(r.request.url)
    r.raise_for_status()
    print(len(r.text))
    r.encoding = r.apparent_encoding
    print(r.text[1000:2000])
except:
    print("爬取失败")
2.IP地址查询
# IP地址
import requests
url = "http://m.ip138.com/ip.asp?ip="
adr = input('请输入类似202.205.80.112的地址:')
try:
    r = requests.get(url+adr)
    r.raise_for_status()
    r.encoding = r.apparent_encoding
    print(r.text[-500: ])
except:
    print("爬取失败")
3.图片爬取
# 定向获取图片
import requests
import os
url = "http://zsw.bjtu.edu.cn/data/upload/ueditor/20160511/5732dd92e02cf.jpg"
root = "E://markdown//"
path = root+url.split('/')[-1]  # 这里的path不能和root一样
if not os.path.exists(root):
    os.mkdir(root)
r = requests.get(url)
with open(path,'wb') as f:
    f.write(r.content)
    f.close()
    print('图片爬取成功')


### 学习网络爬虫的基础实践方法 对于初学者来说,学习网络爬虫可以从以下几个方面入手: #### 、了解基本概念 网络爬虫种按照定规则自动抓取互联网信息的程序或脚本。它能够帮助用户高效地收集数据并用于分析或其他用途。即使是没有任何编程基础的人,在认真学习基础知识之后也能够完成简单的爬虫任务[^1]。 #### 二、掌握必备工具和技术栈 以下是构建个简单网络爬虫所需的技术和工具: - **Python语言**:由于其简洁性和丰富的库支持,Python成为编写爬虫的最佳选择。 - **Requests库**:这是个强大的HTTP请求库,可以用来发送GET/POST请求来获取网页内容。 - **BeautifulSoup库**:该库可以帮助解析HTML文档结构化提取有用的信息。 下面是个使用`requests`和`BeautifulSoup`实现的小型爬虫实例,演示如何从某个页面抓取标题: ```python import requests from bs4 import BeautifulSoup url = 'https://example.com' response = requests.get(url) if response.status_code == 200: soup = BeautifulSoup(response.text, 'html.parser') title = soup.find('title').get_text() print(f'Page Title: {title}') else: print("Failed to retrieve the webpage.") ``` 此代码片段展示了通过向指定URL发起请求,并利用`BeautifulSoup`解析返回的内容找到<title>标签内的文字。 #### 三、遵循法律与道德准则 在实际操作过程中需要注意的是,虽然网络爬虫项非常有用的技能,但在实施前应确认目标站点允许被爬取以及遵守robots协议等相关规定。未经许可大量访问他人服务器可能违反法律法规或者服务条款。 #### 四、推荐的学习资源 除了书籍《Python网络爬虫从入门到实践(第2版)》,还可以参考在线课程平台上的免费视频教程,比如Coursera、Udemy等提供的相关内容;另外官方文档也是不可忽视的重要资料来源之。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值