爬虫:python爬取 糗事百科 网页信息

使用python爬虫 爬取了 糗事百科网站的网页的代码,这是一个比较简单的实现爬虫逻辑的代码,执行后会把爬取的内容按页保存为多个html文件中,并自动下载到download文件夹中。如在这里插入图片描述

"""练习爬虫:爬 糗事百科 网页"""

import requests
import codecs

class ScandalSpider:
    def __init__(self,spider_name):
        self.spider_name=spider_name
        # 糗事百科的网址 url
        self.url_base="http://www."+spider_name+"baike.com/8hr/page/{}/"
        # 模拟 User-Agent
        self.headers ={"User-Agent":"abc"}


    def make_url_lists(self):
        # 多个url形成的列表
        return [self.url_base.format(i) for i in range(1,7)]


    ''' 获取下载信息'''
    def download_url(self,url_str):
        info =requests.get(url_str,headers=self.headers)
        # 下载网页内容html
        return info.text


    ''' 设置保存下载内容地址'''
    def save_info(self,info,page_n):
        # 保存地址:同一文件目录下的download文件
        file_path="./download/{}-第{}页.html".format(self.spider_name,page_n)
        #保存文件函数
        with codecs.open(file_path,"wb","utf-8") as f:
            f.write(info)


    '''实现下载逻辑 按页保存'''
    def run(self):
        url_lists =self.make_url_lists()
        # 遍历每一个url
        for url_str in url_lists:
            info_str=self.download_url(url_str)
            # 页码 是单个url在列表中的索引下标id
            p_n=url_lists.index(url_str)+1
            self.save_info(info_str,p_n)


if __name__=="__main__":
    scandal=ScandalSpider("qiushi")
    scandal.run()


猜你喜欢

转载自blog.csdn.net/swan_tang/article/details/82831056