简单爬虫练习

引入模块

import requests
from bs4 import BeautifulSoup

爬取网页内容

# 起始页面
star_url = 'http://quotes.toscrape.com'
# 刚开始时下一页就是起始页
next_pag_url = star_url
# 不停获取下一页
while next_pag_url:
    url = requests.get(next_pag_url)
    url.raise_for_status()
    bs = BeautifulSoup(url.text,'html.parser')

    # 获取下一页按钮
    next_pag = bs.find('li',class_ = 'next')
    # 如果没有下一页就结束
    if not next_pag:
        break
    # 去下一页链接
    next_pag_url = next_pag.a['href']
    # 拼装链接成完整的URL
    next_pag_url = star_url + next_pag_url
    # print(url.text)
    # 解析出当前页面的内容
    div_list = bs.find_all('div',class_='quote')
    # print(div_list)
    for div in div_list:
        print(div.small.text,':',div.span.text)

在进行网络爬虫练习时,选择合适的项目和资源是关键。以下是一些推荐的练习项目和学习资源,帮助您更好地掌握爬虫技术: ### 3.1 Scrapy框架练习项目 Scrapy 是一个强大的爬虫框架,适合进行较为复杂的爬虫项目。您可以从简单的网页抓取开始,例如抓取新闻网站的标题、链接和内容,逐步扩展到更复杂的项目,如抓取电商网站的商品信息、评论等。以下是一个使用 Scrapy 的基础示例代码,展示如何抓取网页中的新闻标题: ```python import scrapy from ..items import PachongItem class PcSpider(scrapy.Spider): name = "pc" allowed_domains = ["guba.eastmoney.com"] start_urls = ["https://guba.eastmoney.com"] def parse(self, response): item = PachongItem() li_list = response.xpath("//*[@id='mainlist']/div/div/div[3]/ul/li[1]/div/ul/li") for li in li_list: item["name"] = li.xpath("./div/div/div[1]/a/text()").get() yield item ``` ### 3.2 Python爬虫入门教程 对于初学者来说,Python 是一个非常适合入门爬虫的语言。有许多优秀的教程可以帮助您快速上手。您可以从简单的请求和解析开始,学习如何使用 `requests` 和 `BeautifulSoup` 库进行网页抓取。随着技能的提升,可以尝试更高级的主题,如处理 JavaScript 渲染的页面、使用代理和处理 cookies 等。 ### 3.3 防爬虫机制的应对 在实际的爬虫项目中,经常会遇到各种防爬虫机制,如图片验证码、滑块验证、封禁 IP 等。了解这些机制并学习如何应对是非常重要的。可以通过使用代理 IP、设置请求头、模拟浏览器行为等方式来绕过这些限制。 ### 3.4 爬虫练习资源推荐 - **Scrapy官方文档**:提供了详细的使用指南和示例,非常适合初学者。 - **BeautifulSoup教程**:介绍了如何使用 BeautifulSoup 解析 HTML 和 XML 文档。 - **Requests库文档**:详细介绍了如何使用 Requests 发起 HTTP 请求。 - **知乎上的爬虫相关话题**:有很多实战经验和技巧分享。 - **GitHub上的开源项目**:可以找到很多实际的爬虫项目,供学习和参考。 ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值