Python新手提问:如何入门爬虫?

想爬点 ZOL 的手机数据,看到 http://detail.zol.com.cn/robots.txt 上面似乎限制爬虫爬取
Disallow: https://detail.zol.com.cn/*

我理解,这样爬虫就无法访问产品数据了?这怎么办呢?有什么变通方法可以爬取。
Python新手提问:如何入门爬虫?


17 回复

你都知道看 robots 了不小白了


直接上干货。想入门爬虫,你得先搞定三样东西:Python基础、HTTP协议、HTML结构

别一上来就找爬虫教程,先把Python的requestsBeautifulSoup这两个库玩明白。下面这个例子能让你立刻上手,爬取一个网页的标题:

import requests
from bs4 import BeautifulSoup

# 1. 发送请求
url = 'https://httpbin.org/html'
response = requests.get(url)

# 2. 检查请求是否成功
if response.status_code == 200:
    # 3. 解析HTML
    soup = BeautifulSoup(response.text, 'html.parser')
    
    # 4. 提取数据(这里找<h1>标签)
    title_tag = soup.find('h1')
    if title_tag:
        print("抓取到的标题是:", title_tag.text)
    else:
        print("没找到标题标签")
else:
    print(f"请求失败,状态码:{response.status_code}")

简单解释一下:

  • requests.get() 负责去拿网页的原始数据。
  • BeautifulSoup 像个翻译官,把杂乱的HTML变成你能看懂的树状结构。
  • soup.find() 就是在这棵树里精确找到你要的内容。

下一步学什么?

  1. 学用 soup.find_all() 抓列表数据。
  2. 学用 response.json() 处理API接口(比HTML简单多了)。
  3. 遇到反爬虫的网站,再去看 headerscookiestime.sleep() 怎么用。

核心建议:从一个你能轻松访问的公开页面开始练手。

悄悄,慢慢地爬,自己用,或者换网站。
人家不让你爬,无解

那个 robots.txt 主要是给搜索引擎来指引的。和你没有什么关系。

robots.txt 只是对搜索引擎爬虫的建议性限制吧,理论上正常用户在客户端浏览器能看到什么,操作什么,机器就可以做到什么

robots.txt 只是君子协议。。。就比如你家门开着,贴张纸,写着小偷别进来,小偷就真不进了么。。。

伪造正常浏览器 ua 啊

你确实是小白,哈哈哈

给小弟指点下嘛,别只一笑而过

你发 http request 的时候,把 header 里的 user-agent 字段改成其他的。

但是其实也不用做任何多余的事情,因为 robotstxt 只是一个声明,遵不遵守全看写爬虫人的意思。

楼主很有节操 233

破坏计算机信息罪了解一下 23333

你用 scrapy 的? scrapy 在设置文件里面设置下就好了,有一个 Allow_robots 这样的设定,关了就好

我用的 python2 的 request,写了个很简单的,伪装成 360 的 agent,可以用

回到顶部