第一个爬虫脚本

来源:互联网 发布:淘宝四钻店铺转让 编辑:程序博客网 时间:2024/04/30 14:44

这是制作的第一个爬虫脚本,主要实现的功能就是解析指定网站中指定的照片地址,然后保存到本地。

代码部分:

from urllib.request import urlopenfrom bs4 import BeautifulSoupimport rei = 0def get_content(page):    global i    page = str(page)    url = "网站地址?page=" + page #保证可以获取多页内容    html = urlopen(url)    bsObj = BeautifulSoup(html, "html.parser")    images = bsObj.findAll("img", {"src": re.compile("\d+\.jpg")}) #使用正则把图片的URL筛选出来    while i < 5: #i是页数        for image in images: #使用for循环抓取不同页数的图片            photo_url = "网站的绝对地址" + image["src"] #图片地址            print(photo_url) #输出图片地址            f = open(str(re.sub(r"\D+", "0", image["src"])) + ".jpg", "wb")  # 利用正则替换命名图片名称,并保存到当前文件夹            req = urlopen(photo_url)            buf = req.read()  # 读出文件            f.write(buf)  # 写入文件            print("正在下载中...")        i = i + 1        print ("这是第", i, "页")        get_content(i) #进行下一页的抓取get_content(i)

这是我完成的第一个比较成功的爬虫脚本,整段代码很个性,不具有代表性。实现的功能也少之又少,可能不能被别的网址所使用,主要是看思路。写完这个脚本以后,我暂时总结出了制作爬虫脚本的思路,可能不是很严谨。

  1. 找到需要爬取网站的HTML标签的规律
  2. 选择合适的筛选条件,可以利用正则或者是标签数量等条件
  3. 判断采集的信息是否有效
  4. 保存本地或数据库

这段代码是第一个爬取图片的代码,虽然花费了很多时间,解决了一些问题,但仍然存在一些问题需要在以后的版本中解决:

  1. 抓取更多不同的网页
  2. 利用异常机制控制页数,在没有图片的时候停止
  3. 在没有图片停止之后,自动开始抓取另一网页内容
  4. 改变文件保存的位置

本来是想多定义几个函数看着更清楚一些,但是能力有限,改的改的最后全都放到一个函数中了,不过下载图片的目的是实现了,还是不错的。

0 0
原创粉丝点击