使用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()