Python爬虫进阶(实战篇一)

 接,基础篇,链接:python爬虫入门(所有演示代码,均有逐行分析!)-CSDN博客


目录

1.爬取博客网站全部文章列表

ps:补充(正则表达式)

爬虫实现

爬虫代码:

 2.爬取豆瓣电影top250榜

 爬虫代码:

3.爬取北京天气十年数据

爬虫代码:


 

1.爬取博客网站全部文章列表

ps:补充(正则表达式)

PS:这里涉及到python基础语法中正则表达式的内容

课:第三阶段-09-正则表达式-基础方法_哔哩哔哩_bilibili

 实例代码:

import re

url1 = "http://www.crazyant.net/1234.html"
url2 = "http://www.crazyant.net/1234.html#comments"
url3 = "http://www.baidu.com"

pattern = r'^http://www.crazyant.net/\d+.html$'
#r;使\d这类转义字符作为一个整体出现,而不是分开的\+d的意思;\d表示一个十进制的数字 [0-9],\d+代表十进制的数字有多个

print(re.match(pattern,url1))    #ok
print(re.match(pattern,url2))    #none
print(re.match(pattern,url3))    #none

  运行结果图:

爬虫实现

创建Python Package,命名为blog_test

在package下创建url_manager.py文件,用于存放url管理器模块代码

url管理器代码:

class UrlManager():
    '''
    url管理器
    '''
 
    def __init__(self):
    #定义一个初始化函数
        self.new_urls = set()
        #新的待爬取url的集合
        self.old_urls = set()
        #已爬取url的集合
 
    def add_new_url(self, url):
    #定义新增单个url的方法一,传一个参数url
        if url is None or len(url) == 0:
        #判断url是否为空或长度为0
            return
            #符合上述条件就停止增加
        if url in self.new_urls or url in self.old_urls:
        #判断url是否已经被记录在集合里
            return
            #已经载集合里的url不新增
        self.new_urls.add(url)
        #上述干扰条件排除后,url就可以加入待爬取的集合中
 
    def add_new_urls(self,urls):
    #定义新增url的方法二,传一个参数urls
        if urls is None or len(urls) == 0:
        #判断参数urls是否为空
            return
        for url in urls:
        #不为空就将单个url循环传入单个判断url方法中经行判断存储
            self.add_new_url(url)
 
    def get_url(self):
    #定义获取新url的函数
        if self.has_n
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿勉要睡觉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值