一小时学会Python爬虫


爬虫基本过程可以分为以下三部:

  1. 代码访问网址
  2. 解析返回的HTML
  3. 保存想要的数据

1. 代码访问网址

python使用Requests库访问网络,爬虫是通过代码模拟人为操作浏览器,所以还得加上请求头header,一般请求头参数就是‘user-agent’,特殊的可能需要auth、cookies等信息。有时还需要在每次访问中间停顿几秒,防止频繁访问导致账号被封禁。requests中文文档

基本使用

import requests
headers = {
   
    'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36'
}
res = requests.get('http://www.baidu.com', headers=headers)
print(res.text)  # 打印返回的网页源码内容

常用属性

属性 含义
res.status_code 请求的响应状态码,200表示请求成功
res.text 响应内容的字符串形式,即返回的页面内容
res.encoding 从requests header 中推测的内容编码方式
res.content 响应内容的二进制形式
res.json() 得到对应的 json 格式的数据

2. 解析HTML文件

BeautifulSoup

BeautifulSoup是一个可以从HTML或XML文件中提取数据的Python库。BeautifulSoup中文文档

举例使用

from bs4 import BeautifulSoup
import requests

headers = {
   
    'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36'
}

res = requests.get('http://www.baidu.com', headers=headers)
soup = BeautifulSoup(res.text, 'html.parser')  #得到BeautifulSoup对象
print(soup.prettify())  # 美化打印出来,变成浏览器中源码排列
# select用法
lists = soup.select('#s-top-left>a') #得到标签对应集合
for list in lists:
    print(list)
    print(list.get('href'),list['href'],list.get_text())

# find用法
lists = soup.find('a',
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值